ANT-2026-H5T8XKWR · tryghost/ghost
sql-injection
MERGED
This finding was consolidated into ANT-2026-69D8H6RP after publication. Both entries described the same underlying vulnerability; the surviving finding carries the full report and the disclosure record. The original commitment below remains in the ledger.
UPSTREAM FIX
Advisories assigned to this finding before it was consolidated. The fix record is carried on the surviving finding.
https://github.com/advisories/GHSA-w52v-v783-gw97
PROVENANCE
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
}