ANT-2026-H5T8XKWR · TryGhost/Ghost
sql-injection critical
Severity Claude critical · Security research firm - · Maintainer critical
Discovered by Claude Mythos Preview
The report below was sent to the maintainer and sealed at approval.
ANT-2026-H5T8XKWR: SQL injection in Content API
The Ghost Content API, which is publicly accessible by design, fails to properly sanitize the slug filter parameter in query strings. An unauthenticated attacker can inject SQL via a crafted slug:[...] filter value. This allows reading arbitrary data from the Ghost database, including staff API keys and other sensitive records. Because the Content API key is intentionally public, no authentication barrier exists.
Target
Project: TryGhost/Ghost
Discovery: static analysis — not yet dynamically reproduced
Technical Details
User-supplied input in the Content API filter query-string parameter (specifically slug:[...] expressions) is incorporated into a SQL query without sufficient sanitization, permitting injection of arbitrary SQL and exfiltration of any row in the database.
Reproduction
This finding was identified by static analysis and has not yet been dynamically reproduced. The Technical Details section above describes the code path; a trigger input is not included.
[No reproducer or sanitizer output attached — request from cvd@anthropic.com if needed.]
Acknowledgement
This vulnerability was discovered by Claude, Anthropic's AI assistant, and triaged by the Anthropic security team in collaboration with Anthropic Research. Please direct questions to security-cvd@anthropic.com and reference ANT-2026-H5T8XKWR.
Reference: ANT-2026-H5T8XKWR
Anthropic CVD Policy: https://anthropic.com/security/cvd-policy
https://github.com/TryGhost/Ghost/security/advisories/GHSA-w52v-v783-gw97
Dates from discovery through public reveal.
- 2026-02-18 Patch released
- 2026-03-29 Reported to tracker
- 2026-05-08 Sent to maintainer
- 2026-05-08 Maintainer acknowledged
- 2026-05-20 Publicly revealed
SHA-3-512 hash:
6479c89ca89975bde1a83168dcdaf7c0efffd8b9c3938659365bc7a4974131645c651422ea7bf38a531543cbeecea4d68d0743fa17e25e35e030028719e4c652
Committed 2026-05-08 09:37 PT
Revealed 2026-05-20 00:40 PT
Verify (download preimage.json)
Show preimage JSON
{
"ant_id": "ANT-2026-H5T8XKWR",
"bug_class": "sql-injection",
"claude_severity": "critical",
"commit_sha": null,
"created_at": "2026-03-29T20:43:35+00:00",
"description": "The Ghost Content API, which is publicly accessible by design, fails to properly sanitize the slug filter parameter in query strings. An unauthenticated attacker can inject SQL via a crafted `slug:[...]` filter value. This allows reading arbitrary data from the Ghost database, including staff API keys and other sensitive records. Because the Content API key is intentionally public, no authentication barrier exists.",
"discovered_at": null,
"location": null,
"poc_sha256": null,
"preimage_version": 1,
"project": "TryGhost/Ghost",
"reproduction": null,
"technical_details": "User-supplied input in the Content API `filter` query-string parameter (specifically `slug:[...]` expressions) is incorporated into a SQL query without sufficient sanitization, permitting injection of arbitrary SQL and exfiltration of any row in the database.",
"title": "SQL injection in Content API",
"vendor_severity": null
}