{"id":"CVE-2026-26980","aliases":["BIT-ghost-2026-26980","EUVD-2026-8400","GHSA-w52v-v783-gw97"],"status":"published","title":"Ghost has a SQL Injection in its Content API","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. This issue has been fixed in version 6.19.1.","severity":{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.71095,"percentile":0.99411,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-89"],"published":"2026-02-18T21:50:23Z","modified":"2026-10-28T02:30:41Z","exploits":[{"source":"exploitdb","id":"EDB-52555","title":"Ghost CMS 6.19.0 - SQLi","type":"webapps","platform":"multiple","date":"2026-05-07","url":"https://www.exploit-db.com/exploits/52555"},{"source":"nuclei","id":"CVE-2026-26980","title":"Ghost CMS Content API - SQL Injection","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-26980.yaml"},{"source":"pocgithub","id":"EQSTLab/CVE-2026-26980","title":"EQSTLab/CVE-2026-26980","date":"2026-05-27","url":"https://github.com/EQSTLab/CVE-2026-26980"},{"source":"pocgithub","id":"Kulik-Labs-Development/Ghost-CMS-Code-Injection-Audit-CVE-2026-26980","title":"Kulik-Labs-Development/Ghost-CMS-Code-Injection-Audit-CVE-2026-26980","date":"2026-05-20","url":"https://github.com/Kulik-Labs-Development/Ghost-CMS-Code-Injection-Audit-CVE-2026-26980"},{"source":"pocgithub","id":"dinosn/ghost-cve-2026-26980","title":"dinosn/ghost-cve-2026-26980","date":"2026-04-17","url":"https://github.com/dinosn/ghost-cve-2026-26980"},{"source":"pocgithub","id":"gagaltotal/CVE-2026-26980-Ghost-CMS-Api","title":"gagaltotal/CVE-2026-26980-Ghost-CMS-Api","date":"2026-06-26","url":"https://github.com/gagaltotal/CVE-2026-26980-Ghost-CMS-Api"},{"source":"pocgithub","id":"n0bitaemon/CVE-2026-26980-PoC","title":"n0bitaemon/CVE-2026-26980-PoC","date":"2026-06-26","url":"https://github.com/n0bitaemon/CVE-2026-26980-PoC"},{"source":"pocgithub","id":"vognik/CVE-2026-26980","title":"vognik/CVE-2026-26980","date":"2026-03-29","url":"https://github.com/vognik/CVE-2026-26980"},{"source":"pocgithub","id":"yym8538/CVE-2026-26980","title":"yym8538/CVE-2026-26980","date":"2026-08-21","url":"https://github.com/yym8538/CVE-2026-26980"}],"fixes":[{"ecosystem":"npm","package":"ghost","fixed_in":["6.19.1"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"ghost","fixed_in":["6.19.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"ghost","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.24.0"},{"fixed":"6.19.1"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"ghost","ranges":[{"type":"SEMVER","events":[{"introduced":"3.24.0"},{"fixed":"6.19.1"}]}]},{"source":"osv","ecosystem":"npm","package":"ghost","ranges":[{"type":"SEMVER","events":[{"introduced":"3.24.0"},{"fixed":"6.19.1"}]}]}],"products":[{"vendor":"ghost","product":"ghost"},{"vendor":"tryghost","product":"ghost"}],"references":[{"url":"https://github.com/TryGhost/Ghost/security/advisories/GHSA-w52v-v783-gw97","tags":["x_refsource_CONFIRM","Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://github.com/TryGhost/Ghost/commit/30868d632b2252b638bc8a4c8ebf73964592ed91","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/TryGhost/Ghost/releases/tag/v6.19.1","tags":["x_refsource_MISC","Product","Release Notes","article","web"]},{"url":"https://blog.xlab.qianxin.com/ghost-cms-page-poisoning-cve-2026-26980/","tags":["third-party-advisory","web","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-26980","tags":["web","advisory"]},{"url":"https://blog.xlab.qianxin.com/ghost-cms-page-poisoning-cve-2026-26980","tags":["web"]},{"url":"https://github.com/advisories/GHSA-w52v-v783-gw97"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26980.json","tags":["advisory"]},{"url":"https://github.com/TryGhost/Ghost","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-26980","title":"Ghost has a SQL Injection in its Content API","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. This issue has been fixed in version 6.19.1.","status":"published","published":"2026-02-20T01:00:51.633Z","modified":"2026-05-26T13:35:27.068Z","cvss":[{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical","assessor":"cna"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T13:38:20.971157Z"}],"euvd":[{"id":"EUVD-2026-8400","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. This issue has been fixed in version 6.19.1.","status":"published","published":"2026-02-20T01:00:51Z","modified":"2026-05-26T13:35:27Z","cvss":[{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical"}],"updated_at":"2026-11-02T18:21:07.388987Z"}],"ghsa":[{"id":"GHSA-w52v-v783-gw97","title":"Ghost has a SQL injection in Content API","description":"### Impact\n\nA SQL injection vulnerability existed in Ghost's Content API that allowed unauthenticated attackers to read arbitrary data from the database. \n\n### Vulnerable Versions\n\nThis vulnerability is present in Ghost v3.24.0 to v6.19.0.\n\n### Patches\n\nv6.19.1 contains a fix for this issue. \n\n**Note:** as this vulnerability lets an attacker gain access to a site's API keys, we recommend reviewing staff users and rotating keys. We generally recommend always updating Ghost to its most current version. \n\n### Workarounds\n\nThere is no application-level workaround. The Content API key is public by design, so restricting key access does not mitigate this vulnerability.\n\nAs a temporary mitigation, a reverse proxy or WAF rule can be used to block Content API requests containing `slug%3A%5B` or `slug:[` in the query string filter parameter. Note that this may break legitimate slug filter functionality.\n\n### References\n\nWe thank Nicholas Carlini using Claude, Anthropic for disclosing this vulnerability responsibly. \n\n### For more information\nIf you have any questions or comments about this advisory, email us at [security@ghost.org](mailto:security@ghost.org).","status":"published","published":"2026-02-18T21:50:23Z","modified":"2026-06-08T23:22:35Z","cvss":[{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:40:20.187636Z"}],"nvd":[{"id":"CVE-2026-26980","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. This issue has been fixed in version 6.19.1.","status":"published","published":"2026-02-20T02:16:54.213Z","modified":"2026-06-17T10:26:28.773Z","cvss":[{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:12:06.63895Z"}],"osv":[{"id":"CVE-2026-26980","title":"Ghost has a SQL Injection in its Content API","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. This issue has been fixed in version 6.19.1.","status":"published","published":"2026-02-20T01:00:51.633Z","modified":"2026-10-28T02:30:41.122741636Z","cvss":[{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:44:59.80315Z"},{"id":"GHSA-w52v-v783-gw97","title":"Ghost has a SQL injection in Content API","description":"### Impact\n\nA SQL injection vulnerability existed in Ghost's Content API that allowed unauthenticated attackers to read arbitrary data from the database. \n\n### Vulnerable Versions\n\nThis vulnerability is present in Ghost v3.24.0 to v6.19.0.\n\n### Patches\n\nv6.19.1 contains a fix for this issue. \n\n**Note:** as this vulnerability lets an attacker gain access to a site's API keys, we recommend reviewing staff users and rotating keys. We generally recommend always updating Ghost to its most current version. \n\n### Workarounds\n\nThere is no application-level workaround. The Content API key is public by design, so restricting key access does not mitigate this vulnerability.\n\nAs a temporary mitigation, a reverse proxy or WAF rule can be used to block Content API requests containing `slug%3A%5B` or `slug:[` in the query string filter parameter. Note that this may break legitimate slug filter functionality.\n\n### References\n\nWe thank Nicholas Carlini using Claude, Anthropic for disclosing this vulnerability responsibly. \n\n### For more information\nIf you have any questions or comments about this advisory, email us at [security@ghost.org](mailto:security@ghost.org).","status":"published","published":"2026-02-18T21:50:23Z","modified":"2026-06-08T23:30:20.162660615Z","cvss":[{"version":"3.1","score":9.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:58.04805Z"},{"id":"BIT-ghost-2026-26980","title":"Ghost has a SQL Injection in its Content API","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. This issue has been fixed in version 6.19.1.","status":"published","published":"2026-02-21T08:39:22.999Z","modified":"2026-09-10T16:01:31.765251315Z","updated_at":"2026-11-02T15:28:29.999658Z"}]}}
