Ghost in the Machine: AI-Found SQLi Enables Mass ClickFix Attacks

Authors: Cloud Security Alliance AI Safety Initiative
Published: 2026-05-26

Categories: Vulnerability Management, Social Engineering & Phishing, AI-Assisted Security Research, CMS & Web Application Security
Download PDF

Ghost in the Machine: AI-Found SQLi Enables Mass ClickFix Attacks

Key Takeaways

  • CVE-2026-26980 is an unauthenticated blind SQL injection in Ghost CMS’s Content API (versions 3.24.0 through 6.19.0) rated 9.4 Critical by the GitHub CNA [1] and 7.5 High by NVD’s independent assessment. [2] The flaw allows attackers to extract arbitrary database contents — including Admin API keys — without any credentials.
  • The vulnerability is attributed to Anthropic Research Scientist Nicholas Carlini, who reportedly used Claude to identify the injection point in approximately 90 minutes of autonomous code analysis — work later presented at a Black Hat LLMs conference and credited in a public proof-of-concept repository. [9] Carlini responsibly disclosed the flaw, and Ghost released a patch (version 6.19.1) on February 19, 2026. [1][4]
  • Despite the patch being available for nearly three months, XLab threat intelligence researchers at Qianxin detected active mass exploitation beginning May 7, 2026. Threat actors compromised more than 700 websites across universities, fintech, AI/SaaS, media, and security sectors — including Harvard University, Oxford University, DuckDuckGo, and Auburn University. [5][6]
  • Attackers chained the SQLi exploit with Ghost’s Admin API to inject malicious JavaScript into published articles, which then delivered ClickFix social engineering lures — fake Cloudflare CAPTCHA pages instructing visitors to execute attacker-supplied PowerShell commands. [5][7]
  • Final payloads observed in the campaign include credential-stealing trojans distributed as UtilifySetup.exe, a compiled Electron-based stealer designed to harvest session tokens, browser credentials, and authentication material from infected Windows systems. [5]
  • Organizations running any Ghost CMS version below 6.19.1 should treat their instance as potentially compromised and take immediate action: upgrade to 6.19.1, rotate all Admin API keys, audit published content for injected script tags, and review Admin API access logs. Even sites not appearing in the XLab dataset may have been silently harvested; the absence of confirmed compromise does not mean credentials were not extracted. [1][8]

Background

Ghost is an open-source, Node.js-based content management system used by independent publishers, media organizations, newsletters, and technical blogs. With more than 50,000 GitHub stars and a self-hosted deployment model popular among organizations that prioritize editorial independence from commercial platforms, Ghost has built a substantial install base in higher education, fintech, and the AI/technology research community — sectors that proved central to the exploitation campaign examined here. [3] Unlike SaaS platforms that can push security updates transparently to all users, self-hosted Ghost deployments require administrators to actively apply upgrades, creating structural exposure to patch-lag exploitation of the kind this campaign illustrates.

The vulnerability at the center of this incident, CVE-2026-26980, was not discovered by a traditional penetration tester reviewing code line by line. It was found by Claude, Anthropic’s large language model, in an experiment conducted by Nicholas Carlini, a research scientist at Anthropic, and presented publicly in early 2026. [9] Carlini pointed Claude at the Ghost codebase and gave it a broadly scoped task: look for security vulnerabilities. Within approximately 90 minutes, Claude had identified a blind SQL injection in Ghost’s Content API — specifically in the slug-filter-order.js input serializer, where slug values supplied by API callers were being inserted directly into a raw SQL ORDER BY clause through string concatenation rather than parameterized binding. Because the Content API is designed to be publicly accessible for delivering published content to readers without authentication, this injection point required no credentials to exploit. [2][4]

Carlini followed responsible disclosure procedures, coordinating with the Ghost security team. Ghost published a security advisory under GitHub Advisory Database identifier GHSA-w52v-v783-gw97 on February 16, 2026, and released the patched version 6.19.1 on February 19. [1][4] The fix replaced string concatenation with proper parameterized query bindings, eliminating the injection surface. For organizations that applied the update within days of the February 19 release, exposure predated active exploitation by approximately 77 days. For the hundreds of sites that did not, a three-month period of unpatched exposure began — a period that threat actors eventually capitalized on at scale.

Security Analysis

The Technical Vulnerability: Unauthenticated SQLi via Content API

The technical details of CVE-2026-26980 illuminate why the vulnerability is particularly dangerous in the context of CMS platforms. Ghost’s Content API exists to serve published content to readers and third-party integrations — it is an intentionally public-facing interface, not an administrative endpoint requiring authentication tokens. The injection lived in the filter ordering logic: when a caller supplied a filter=slug:[value] or order=slug:[value] query parameter, the slug value was interpolated directly into the SQL ORDER BY clause. An attacker could supply a crafted slug payload — such as a boolean-based blind injection string — that the database would execute, allowing iterative extraction of any data in any accessible table. [2][4]

In practice, the Ghost database holds the Admin API keys used to authenticate to the Ghost Admin API, which provides full content management capabilities: creating, editing, and deleting posts, managing users, and configuring site settings. Extracting Admin API keys via the Content API SQLi therefore gave attackers a complete, authenticated path to modify published content on any compromised Ghost site. The exploitation chain was clean and fully unauthenticated end-to-end: by automating iterative blind SQL injection queries against the Content API, attackers could extract Admin API keys from the database without any credentials. Once extracted — a process requiring no special access, only network connectivity to the public Content API endpoint — those keys provided full authenticated access to Ghost’s Admin API. [5][7] The attackers in the May 2026 campaign automated this process at scale, scanning for vulnerable Ghost instances via internet-wide enumeration and proceeding to mass exploitation without targeting specific organizations — the campaign was entirely opportunistic. [5]

From AI Discovery to Adversarial Weaponization

The timeline from responsible disclosure to mass exploitation in this incident is instructive. Ghost released the patch on February 19, 2026. Public proof-of-concept exploit code and technical writeups describing the injection mechanism became available in the weeks following disclosure, as is typical for high-severity CVEs once a patch is released. [9] By early May, the exploit was mature enough for threat actors to weaponize it in an automated scanning-and-exploitation workflow. XLab detected the campaign’s first confirmed activity on May 7 — approximately 77 days after the patch was published. [5][6]

This timeline reflects a broader dynamic that the security community increasingly refers to as the exploitation velocity problem, as evidence accumulates that the interval between patch publication and active exploitation has narrowed compared to prior years. The AI-discovery angle adds a new dimension to this dynamic. This case illustrates the potential for AI-assisted research to reduce the time from codebase access to vulnerability identification — work that might have required days or weeks of manual code review took Claude approximately 90 minutes. While there is no evidence that the threat actors in this campaign used AI to discover the vulnerability themselves — they exploited a publicly known CVE — if adversaries gain comparable capability, organizations should expect the patch-to-exploitation window to narrow further. That transition has not yet been documented at scale, but the directional risk is evident. Organizations that assume they have weeks or months to apply patches for critical web application CVEs should revise that assumption downward. [3][10]

The ClickFix Attack Chain

The ClickFix social engineering technique has been one of the most consistently effective initial access mechanisms in use since 2025. Microsoft’s analysis has characterized ClickFix as one of the most prevalent initial access methods of that period, noting its growing adoption and sophistication across tracked attack campaigns. [11] The technique exploits users’ familiarity with CAPTCHA-style verification by presenting a fake validation prompt — typically framed as a Cloudflare human verification check or a browser integrity test — that instructs the victim to complete a verification step. The actual verification step involves pressing Win+R to open the Windows Run dialog, pressing Ctrl+V to paste text that a hidden JavaScript snippet has pre-loaded into the clipboard, and pressing Enter to execute it. The pasted text is an attacker-supplied PowerShell or mshta command that the victim runs with their own user privileges, silently initiating a malware download. [11][12]

In the Ghost CMS campaign, the ClickFix lure was delivered via a layered infrastructure. After stealing Admin API keys, attackers used Ghost’s Admin API to inject a compact JavaScript loader into articles published on compromised sites. The loader, designed to be lightweight and difficult to detect by casual inspection, fetched a second-stage script from attacker-controlled infrastructure on page load. [5] That second-stage script was a cloaking layer powered by Adspect, a commercial ad-traffic quality service repurposed here as a cloaking and fingerprinting layer, which collected browser fingerprint data — user agent, screen resolution, language settings, IP geolocation, and behavioral signals — to determine whether a given visitor represented a viable target. Visitors assessed as non-qualifying (bots, security researchers, threat intelligence crawlers) were shown the normal article content. Visitors assessed as viable targets were served a fake Cloudflare CAPTCHA prompt loaded via an iframe overlaid on the legitimate article page. [5][7]

The cloaking layer’s use of Adspect demonstrates how threat actors leverage existing legitimate infrastructure to make attribution harder and detection more difficult. The 19-command JavaScript interface embedded in Adspect’s fingerprinting script also gave attackers the ability to execute arbitrary JavaScript in the victim’s browser context after initial assessment — a capability that extends well beyond simple traffic filtering. [5]

Final payloads observed by XLab included DLL loaders, JavaScript droppers, and an Electron-based application named UtilifySetup.exe, compiled as recently as May 16, 2026, and distributed from an Amazon S3 bucket. The final payload is a credential-stealing trojan designed to harvest authentication material from the infected Windows system — session cookies, stored browser credentials, authentication tokens, and similar data. [5]

Why Universities and AI Organizations Were Disproportionately Affected

The disproportionate representation of universities, AI companies, and technology organizations among confirmed compromised sites appears to be a structural outcome of Ghost’s user base rather than deliberate adversarial targeting — the attackers’ scanning methodology, as documented by XLab, was consistent with automated opportunistic enumeration rather than curated target selection. [5][6] Ghost is popular among academic institutions for research blogs and technical publications, and among AI/SaaS companies for developer-facing documentation and editorial newsletters. These organizations also tend to have distributed IT governance — a researcher running a Ghost instance for a lab publication may not be in a standard IT patch management workflow — which contributes to patch-lag exposure. The attackers scanned opportunistically; their targets were defined by which Ghost instances were vulnerable, not by which sectors they represented.

Recommendations

Immediate Actions

Any organization running Ghost CMS should audit its current version immediately. Versions 3.24.0 through 6.19.0 are vulnerable; upgrading to 6.19.1 or any subsequent release is the only complete remediation. [1][8] Version identification is straightforward via the Ghost Admin dashboard or by reading the package.json in the Ghost installation directory.

Beyond patching, any organization that operated a vulnerable Ghost instance — even briefly, at any point since February 19, 2026 — should rotate all Admin API keys and staff user passwords. Because CVE-2026-26980 allows unauthenticated extraction of API keys from the database, an attacker could have silently harvested credentials at any point during the unpatched window without leaving obvious application-layer evidence. [1][4] Administrators should review all published posts and pages for injected <script> tags or iframe elements not present in their original content, and should audit Ghost Admin API access logs for requests originating from unfamiliar IP addresses or accessing post-update endpoints.

Organizations that operate Ghost instances in academic or decentralized IT environments should identify all self-hosted Ghost deployments in their network inventory — including instances not under central IT management — and bring them into a standard patch validation workflow.

Short-Term Mitigations

Web application firewalls with rules targeting SQL injection in query parameter values provide a meaningful detection and partial-blocking layer for Content API-style injection attempts, though they are not a substitute for patching. Security teams should add Ghost CMS version-exposure monitoring to their external attack surface management tooling, flagging instances running unpatched versions and generating alerts for any POST requests to the Ghost Admin API originating from unusual geolocations or ASNs. [8]

Organizations whose users may have visited any of the 700+ confirmed compromised Ghost sites during the active campaign window (approximately May 7–15, 2026) should assess exposure to ClickFix payload delivery. The key detection question is whether any Windows endpoint ran a PowerShell or mshta command via the Run dialog during that period, particularly commands that initiated outbound HTTPS connections to unfamiliar domains or Amazon S3 buckets. Endpoint telemetry review and EDR queries for mshta.exe child processes and PowerShell invocations from explorer.exe can surface this activity. [11]

Strategic Considerations

The Ghost CMS incident is a useful case study for organizations assessing their vulnerability to patch-lag exploitation. Three months is not an unusually long gap between patch release and active mass exploitation — it is, if anything, on the longer end for critical web application CVEs with published proof-of-concept code. Security teams should establish tiered SLAs for patch application that account for vulnerability severity, exploitability, and the attack surface posture of the affected system. For CVSS 9.0+ vulnerabilities in internet-exposed web applications, an SLA of 72 hours or fewer for patch application or compensating control deployment is appropriate — a threshold consistent with best-practice guidance for critical, exploitable web application vulnerabilities. [10]

The ClickFix technique’s continued effectiveness also warrants targeted user awareness investment. Most phishing awareness programs focus on link and attachment threats and do not address clipboard-manipulation techniques like ClickFix — a gap that warrants targeted coverage in user training curricula. Users who would not click an obviously suspicious attachment may comply with a fake CAPTCHA prompt on a page belonging to a trusted organization like a university or known technology company. Awareness training should specifically address this pattern: legitimate verification services, including Cloudflare’s Turnstile and similar CAPTCHA providers, never ask users to open the Windows Run dialog or execute commands. [11][12]

CSA Resource Alignment

This incident maps to several areas of CSA’s AI and cloud security frameworks. The AI-assisted vulnerability discovery angle directly implicates CSA’s AI Controls Matrix (AICM), which addresses AI system security lifecycle management, including controls over AI-assisted security research outputs and the responsible disclosure obligations that follow. The AICM’s threat modeling and risk assessment controls and incident response domain are particularly relevant as organizations integrate AI tools into their vulnerability research workflows.

The exploitation campaign’s attack chain — unauthenticated API data extraction leading to authenticated content modification — reflects risks addressed in CSA’s Cloud Controls Matrix (CCM) under Application & Interface Security (AIS) and Identity & Access Management (IAM). The use of Admin API keys as a stepping stone from SQLi to content manipulation underscores the CCM’s emphasis on API key management hygiene and least-privilege credential scoping. [13]

The ClickFix social engineering layer aligns with CSA’s guidance on supply chain and delivery-chain threats: the compromised websites are effectively co-opted as delivery infrastructure for malware targeting visitors who have no direct relationship with the attacker. CSA’s work on Zero Trust architecture — specifically the principle that trust should not be granted transitively based on a domain’s reputation — applies directly to the browsing context. Users’ browsers should not be treated as safe by default simply because the hosting domain is a recognized institution. [14]

The broader pattern of AI-discovered vulnerabilities accelerating the disclosure-to-exploitation timeline is directly within scope for CSA’s MAESTRO framework, which models agentic AI threat scenarios including autonomous vulnerability research. Organizations that deploy AI-assisted code analysis tools should treat the resulting findings as having a compressed remediation window compared to vulnerabilities discovered through traditional manual review, precisely because the adversarial community is gaining similar capability. [15]

References

[1] TryGhost. “SQL injection in Content API · Advisory · TryGhost/Ghost.” GitHub Security Advisory GHSA-w52v-v783-gw97, February 16, 2026.

[2] NIST. “CVE-2026-26980 Detail.” National Vulnerability Database, 2026.

[3] AI Weekly. “Ghost CMS SQL flaw hits 700 sites including Harvard.” AI Weekly, May 2026.

[4] SonicWall. “Ghost CMS Content API Blind SQL Injection — CVE-2026-26980.” SonicWall Blog, 2026.

[5] XLab / Qianxin. “Ghost CMS Mass Compromised via CVE-2026-26980, Now Fueling ClickFix Attacks.” XLab Blog, May 2026.

[6] Malwarebytes. “700+ education and tech websites hijacked in huge ClickFix malware campaign.” Malwarebytes Blog, May 2026.

[7] BleepingComputer. “Ghost CMS SQL injection flaw exploited in large-scale ClickFix campaign.” BleepingComputer, May 2026.

[8] Rescana. “Active Exploitation Alert: Ghost CMS CVE-2026-26980 Mass Attack Hijacks 700+ Sites for ClickFix Malware Campaigns.” Rescana, May 2026.

[9] GitHub. “GitHub — vognik/CVE-2026-26980: Exploit for CVE-2026-26980 — Ghost CMS Unauthenticated SQLi via Content API.” GitHub, 2026.

[10] SecurityWeek. “Ghost CMS Vulnerability Exploited to Hack Over 700 Websites.” SecurityWeek, May 2026.

[11] Microsoft Security. “Think before you Click(Fix): Analyzing the ClickFix social engineering technique.” Microsoft Security Blog, August 2025.

[12] Group-IB. “ClickFix: The Social Engineering Technique Hackers Use to Manipulate Victims.” Group-IB Blog, 2026.

[13] Cloud Security Alliance. “Cloud Controls Matrix v4.1.” CSA, 2021.

[14] Cloud Security Alliance. “Zero Trust Guidance for Achieving Operational Resilience.” CSA, 2023.

[15] Cloud Security Alliance. “MAESTRO: A Framework for Agentic AI Threat Modeling.” CSA AI Safety Initiative, 2025.

← Back to Research Index