Skip to content

Add vpatch-CVE-2023-24000 rule and test#1739

Open
crowdsec-automation wants to merge 5 commits intomasterfrom
1774875002-vpatch-CVE-2023-24000
Open

Add vpatch-CVE-2023-24000 rule and test#1739
crowdsec-automation wants to merge 5 commits intomasterfrom
1774875002-vpatch-CVE-2023-24000

Conversation

@crowdsec-automation
Copy link
Copy Markdown
Contributor

@crowdsec-automation crowdsec-automation commented Mar 30, 2026

This rule targets SQL injection attempts in the WordPress GamiPress plugin (CVE-2023-24000). The attack is performed by injecting SQL syntax into the trigger_type[] parameter of the /wp-json/wp/v2/gamipress-logs endpoint. The rule:

  • Matches requests to the vulnerable endpoint by checking if the URI contains /wp-json/wp/v2/gamipress-logs (with lowercase and urldecode transforms for normalization).
  • Inspects the trigger_type[] argument using a negative regex [^a-z0-9_-], which matches any value containing characters outside of lowercase alphanumeric, underscore, and hyphen — catching SQL injection payloads while allowing normal trigger type values.
  • The transforms ensure case-insensitive and encoded payloads are detected.
  • The labels section includes the correct CVE, ATT&CK, and CWE references.
  • The test config is adapted to expect a 403 response, as required for CrowdSec WAF rule validation.

Validation checklist:

  • All value: fields are lowercase.
  • All relevant transforms include lowercase and urldecode.
  • No match.value contains capital letters.
  • The rule uses a negative regex ([^a-z0-9_-]) for parameter validation, consistent with similar SQL injection rules in the hub.

Description

This PR adds a new vpatch rule for CVE-2023-24000 (WordPress GamiPress SQL injection via trigger_type[] parameter) along with its corresponding test configuration.

Checklist

  • I have read the contributing guide
  • I have tested my changes locally
  • For new parsers or scenarios, tests have been added
  • I have run the hub linter and no issues were reported (see contributing guide)
  • Automated tests are passing
  • AI was used to generate any/all content of this PR

@github-actions
Copy link
Copy Markdown

Hello @crowdsec-automation and thank you for your contribution!

❗ It seems that the following scenarios are not part of the 'crowdsecurity/appsec-virtual-patching' collection:

🔴 crowdsecurity/vpatch-CVE-2023-24000 🔴

@github-actions
Copy link
Copy Markdown

Hello @crowdsec-automation and thank you for your contribution!

I'm a bot that helps maintainers to validate scenarios and ensure they include all the required information.
I've found some errors in your scenarios, please fix them and re-submit your PR, or ask for help if you need it.

The following items have errors:

crowdsecurity/crs-exclusion-plugin-cpanel:

  • labels not found

crowdsecurity/crs-exclusion-plugin-dokuwiki:

  • labels not found

crowdsecurity/crs-exclusion-plugin-drupal:

  • labels not found

crowdsecurity/crs-exclusion-plugin-nextcloud:

  • labels not found

crowdsecurity/crs-exclusion-plugin-phpbb:

  • labels not found

crowdsecurity/crs-exclusion-plugin-phpmyadmin:

  • labels not found

crowdsecurity/crs-exclusion-plugin-wordpress:

  • labels not found

crowdsecurity/crs-exclusion-plugin-xenforo:

  • labels not found

Mitre ATT&CK

Information about mitre attack can be found here.
As an example, some common mitre attack techniques:

  • T1110 for bruteforce attacks
  • T1595 and T1190 for exploitation of public vulnerabilities
  • T1595 for generic scanning of exposed applications

Expected format is (where XXXX is the technique ID):

labels:
  classification:
    - attack.TXXXX

CVEs

If your scenario covers a specific CVE (Common Vulnerabilities and Exposures), please add it.

Expected format is (where CVE-XXX-XXX is the CVE ID):

labels:
  classification:
    - cve.CVE-XXX-XXX

Behaviors

Please identify the behavior(s) your scenario is targeting. You can find the list of available behaviors here.

Expected format is (where <behavior> is the behavior you want to target):

labels:
  behavior: <behavior>

See the labels documentation for more information.

- urldecode
match:
type: contains
value: "')"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot make it a negative regular expression

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to a negative regex [^a-z0-9_-] in commit 12264ce. This matches any trigger_type[] value containing characters outside of lowercase alphanumeric, underscore, and hyphen — the same pattern used in similar SQL injection rules like vpatch-CVE-2019-9762.

Copilot AI requested a review from buixor March 30, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants