Skip to content

Published Leadership 6 min read

An AI Turned Drupal's Patch Into a Working Exploit in Under an Hour for Under $10

Miggo used Claude to build a working exploit for Drupal's CVE-2026-9082 within 51 minutes of the patch publishing, for under $10 in tokens. A published fix hands attackers the diff before operators finish staging, so a closed patch ticket is a measure of effort and a poor guide to exposure.

Send a correction

Independently confirmed2 publishersOperator

Context for builders, not their beat.

Artwork accompanying An AI Turned Drupal's Patch Into a Working Exploit in Under an Hour for Under $10
Generated illustration

What happened

  • On May 20, 2026, Drupal published the patch for CVE-2026-9082, a pre-announced Entity Query SQL injection vulnerability in Drupal core.
  • Using Claude and less than $10 in tokens, Miggo had a working exploit running against an unpatched Drupal instance under an hour after the patch landed.
  • Drupal pre-announced the CVE more than 48 hours in advance and asked every operator to reserve time during the Wednesday release window so they could patch the moment a fix shipped.
  • Drupal powers public-facing properties at organizations including Tesla, NASA, Pfizer, the European Commission, UNICEF, Princeton, and Oxford.
  • SQL injection was the canonical web vulnerability of the early 2000s; mature platforms have steadily engineered it out through ORMs, parameterized queries, and static analysis, and its appearance in a modern enterprise CMS core is unusual.

Why it matters

Drupal did everything a careful vendor is supposed to do. On May 20, 2026 it shipped a patch for CVE-2026-9082, an Entity Query SQL injection flaw in the core of a platform behind public sites for large companies, public bodies and universities [1][4]. It pre-announced the fix more than 48 hours ahead and asked operators to reserve time in the Wednesday release window so they could apply it the moment it landed [3]. The security firm Miggo treated that same pre-announcement as a schedule for an attack.

Miggo pointed Claude Code at the supported Drupal branches, went to dinner, and came back to find the model had detected the patch, isolated the critical commit, stood up a vulnerable Drupal instance in a Docker container, and built a working SQL-injection oracle against it [6]. The patch was detected at 5:12 UTC; Miggo had a functional exploit to full SQL injection and remote code execution at 6:03 [8]. That is 51 minutes [33]. The first public proof-of-concept did not appear on GitHub until 05:25 the next morning, with a second a few hours later [9], roughly 23 hours behind the private one [34].

The speed was not fully autonomous, and Miggo says so. A human researcher had to nudge the model past a syntactic obstacle in the injection path: five failed payloads, a manual step reading the leaked SQL out of a 500 error body, and two refinements [7]. The information the defender published collapsed the timeline. A security patch is a diff, and a diff shows precisely which lines changed. Drupal's pre-announcement narrowed the window to watch, and by Miggo's account the commit inside it accounted for half the analysis [3][6].

The flaw itself was a throwback. SQL injection was the canonical web vulnerability of the early 2000s, and mature platforms have steadily engineered it out with ORMs, parameterized queries, and static analysis [5]. Its reappearance in a modern CMS core is unusual.

The economics are what make this a planning problem. Miggo's run cost under $10 in model tokens [2]. Other reporting points the same way. Chainalysis says blockchain dead drops, a method for hiding malware instructions on public chains, "have surged 440% since the launch of Chinese high-capacity open-source AI models that place no restrictions on generating malicious code" [12]. The team behind The Hacker News's weekly threat roundup put the shift plainly: "Faster tools are changing the pace, but basic mistakes are still doing plenty of the work" [13].

Criminal operations are already there. When Spanish police arrested a 16-year-old they suspect of running the KillSec ransomware group, Hamburg investigators said the group had used AI to build and operate its infrastructure and to identify victims, though they did not elaborate [15]. KillSec's way in was ordinary: exploiting software vulnerabilities and poorly secured access points, especially cloud storage, according to Hamburg police [14].

What a closed patch ticket proves

"The patch path is structurally slower than the attack path," Miggo wrote, pointing to the vetting, staging, and rollback planning that stand between a published fix and a deployed one [10]. Set against the 51-minute exploit, that asymmetry reframes the maintenance window [33]. The hours an operator spends qualifying a patch are hours an attacker can spend turning the same patch against everyone who has not finished [10].

A guide to board reporting for CISOs argues that security teams have long reported counts, vulnerabilities found, patches applied, alerts closed, phishing simulations passed, and that "These numbers measure effort. They don't measure risk" [28]. Boards, it says, want to see exposure, trends over time, and financial impact, and have less use for activity tallies, snapshots, and CVE counts [29]. A closed patch ticket is an activity metric. It records that a fix was applied; it does not tell you whether you were reachable in the window before you applied it.

When the patch is not the remedy

Patching also assumes a patch exists, and several of this period's critical advisories break that assumption in different ways.

When CISA added the FortiMail flaw CVE-2026-104286 to its Known Exploited Vulnerabilities catalog, rated 9.8, the fix was not ready [16]. Fortinet acknowledged the bug was already being exploited to let unauthenticated attackers write arbitrary files, and told customers to disable the IBE feature or wall off the management interface until fixed versions ship [16][17]. CISA still set federal civilian agencies an October 4, 2026 deadline to patch or mitigate [18]. For the days in between, the only control was a workaround.

Dell's set of CSM storage flaws, two scored a maximum 10.0, can be closed only by updating: Dell said there are "no workarounds or mitigations other than updating to the latest version," 1.18.0 [19][20]. FortiMail customers could buy time with a workaround. Dell's exposure runs until the update is finished. GitLab's AI Gateway flaw, CVE-2026-90970, rated 9.9 and disclosed on October 2, shows a different problem [21]. CISA's assessment on the record listed exploitation as "none" the day it was added [22]. The flaw is the second gateway bug of the same template-engine class, CWE-1336, that GitLab has fixed in 2026; the first, also a 9.9, was patched in February [23]. And GitLab's advisory does not include a way to check whether a gateway was attacked before it was updated [24].

Cleanup, the other kind of remediation, can also leave an infection in place. Sucuri described a WordPress backdoor it calls SC as a "self-healing mesh" whose payload lives in at least eight places at once, across files, the database, and shared memory, each able to rebuild the others [25]. "The result is a circular system with no single point you can remove to stop it," researcher Gabriel Barbosa said [26]. Sucuri's own summary applies beyond WordPress: "SC is a reminder that a modern WordPress infection can be a system rather than a file" [27].

Where the budget is drifting

The vendors selling into this moment are repositioning around exposure. Their language shows where the money is expected to go. Automox CEO Justin Talerico frames the endpoint job as "Patch what's patchable, mitigate what isn't, and govern the endpoint continuously" [31]; in that framing, patching is one of three continuous tasks. Surf AI's Yair Grindlinger is blunter about where the hard work now sits: "Discovery is commoditized. The middle is hard" [32].

None of this makes patching optional; a 10.0 that only an update can close still has to be closed [20]. But the interval between a published fix and a working exploit has shrunk to under an hour, and the run cost under $10 [2][33]. The board's question, are we exposed and by how much, is no longer answered by the count of tickets the team closed [28][29]. In the CISO guide's worked example, four tools each rate a finding low to medium, and together they form a critical path from a phishable contractor account to sensitive customer data that no single dashboard shows [30].

Miggo read Drupal's pre-announcement as the vendor conceding the same thing: any meaningful patch lag, "even waiting for the next maintenance window, is now too much exposure to accept" [11].

What to watch

  • Whether CISA revises the FortiMail exploitation status or GitLab's AI Gateway "none" rating as fixes propagate and fuller FortiMail versions ship.
  • Whether other vendors keep pre-announcing patches on a fixed window now that the pre-announcement itself shortens the attack path, or move to silent releases.
  • Whether KillSec successors or copycats adopt the AI-built infrastructure Hamburg police described, now that the group's servers and 110TB of data have been seized.

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    On May 20, 2026, Drupal published the patch for CVE-2026-9082, a pre-announced Entity Query SQL injection vulnerability in Drupal core.

  2. [2]

    Using Claude and less than $10 in tokens, Miggo had a working exploit running against an unpatched Drupal instance under an hour after the patch landed.

  3. [3]

    Drupal pre-announced the CVE more than 48 hours in advance and asked every operator to reserve time during the Wednesday release window so they could patch the moment a fix shipped.

  4. [4]

    Drupal powers public-facing properties at organizations including Tesla, NASA, Pfizer, the European Commission, UNICEF, Princeton, and Oxford.

    Reported Source: MiggoView cited source
  5. [5]

    SQL injection was the canonical web vulnerability of the early 2000s; mature platforms have steadily engineered it out through ORMs, parameterized queries, and static analysis, and its appearance in a modern enterprise CMS core is unusual.

    Reported Source: MiggoView cited source
  6. [6]

    Miggo set Claude Code to monitor the supported Drupal branches scheduled for the May 20 release window; when the researchers returned, the model had detected the patch, isolated the critical commit, stood up a vulnerable Drupal instance in a Docker container, and built a working SQL-injection oracle. Miggo said the pre-announcement had effectively done half the analytical work.

  7. [7]

    The exploit was not one-shot; a human researcher nudged Claude past a syntactic obstacle in the injection path, involving five failed payloads, a manual reasoning step reading the leaked SQL out of the 500 response body, and two refinements, but the generation took minutes.

  8. [8]

    Miggo's timeline records the patch detected on May 20 at 5:12 UTC and a functional exploit to full SQL injection and RCE at 6:03 UTC on May 20.

  9. [9]

    The first GitHub proof-of-concept for CVE-2026-9082 appeared on May 21 at 05:25 UTC, and a second at 11:42 UTC.

  10. [10]

    Miggo wrote: "The patch path is structurally slower than the attack path," citing the vetting, staging, and rollback planning between a published fix and a deployed one.

  11. [11]

    Miggo wrote that the vendor was saying out loud that any meaningful patch lag, "even waiting for the next maintenance window, is now too much exposure to accept."

  12. [12]

    Chainalysis said blockchain dead drops "have surged 440% since the launch of Chinese high-capacity open-source AI models that place no restrictions on generating malicious code."

  13. [13]

    The Hacker News ThreatsDay bulletin said: "Faster tools are changing the pace, but basic mistakes are still doing plenty of the work."

  14. [14]

    According to Hamburg police, KillSec gained access to organizations by exploiting software vulnerabilities and poorly secured access points, especially cloud storage.

  15. [15]

    Spanish police arrested a 16-year-old suspected of running the KillSec ransomware group, and Hamburg police said investigators uncovered how the group used AI to build and operate its infrastructure and identify potential victims, giving no further detail.

  16. [16]

    CISA added the FortiMail flaw CVE-2026-104286 (CVSS 9.8) to its Known Exploited Vulnerabilities catalog following reports of active exploitation; the flaw lets unauthenticated attackers write arbitrary files on the underlying system via crafted HTTP or HTTPS requests.

  17. [17]

    Fortinet acknowledged CVE-2026-104286 was exploited in the wild and urged customers to apply workarounds, disabling the IBE feature or restricting access to the management interface, until fixes are available, with fixed versions such as 8.0.2 and 7.6.7 described as upcoming.

  18. [18]

    CISA recommended that Federal Civilian Executive Branch agencies apply the FortiMail patch or workarounds by October 4, 2026.

  19. [19]

    Dell released updates for multiple critical Container Storage Modules flaws, including CVE-2026-63688 and CVE-2026-63692, both rated CVSS 10.0; the flaws affect all CSM versions prior to 1.17.0 and are fixed in 1.18.0.

  20. [20]

    Dell said there are "no workarounds or mitigations other than updating to the latest version."

  21. [21]

    GitLab disclosed CVE-2026-90970 on October 2, a critical AI Gateway flaw rated CVSS 9.9 that could let a logged-in user with Duo Agent Platform access run commands on the gateway, and fixed it in gateway versions 19.2.4, 19.3.2, and 19.4.1.

  22. [22]

    CISA added an assessment to the CVE-2026-90970 record on October 2 that listed exploitation as "none."

  23. [23]

    In February GitLab fixed another AI Gateway flaw, CVE-2026-1868, also rated 9.9; both are template-engine weaknesses of the same class, CWE-1336.

  24. [24]

    GitLab's advisory does not give a way to check whether a gateway was attacked before it was updated.

  25. [25]

    Sucuri described a WordPress backdoor it codenamed SC as a "self-healing mesh" whose payload lives in at least eight places at once, spread across files, the database, and shared memory, with every one of those places able to rebuild the others.

  26. [26]

    Sucuri researcher Gabriel Barbosa said of the SC backdoor: "The result is a circular system with no single point you can remove to stop it."

  27. [27]

    Sucuri said: "SC is a reminder that a modern WordPress infection can be a system rather than a file."

  28. [28]

    A guide to board reporting for CISOs says security reporting has long run on counts, vulnerabilities found, patches applied, alerts closed, phishing simulations passed, and that "These numbers measure effort. They don't measure risk."

  29. [29]

    The CISO board-reporting guide says boards want exposure rather than activity, trend rather than snapshot, and financial impact rather than CVE counts.

  30. [30]

    The guide's worked example shows four tools each rating a finding low to medium that together form a critical path from a phishable contractor account to sensitive customer data, a path no single dashboard shows.

  31. [31]

    Automox CEO Justin Talerico said: "Patch what's patchable, mitigate what isn't, and govern the endpoint continuously."

  32. [32]

    Surf AI co-founder and CEO Yair Grindlinger said of exposure management: "Discovery is commoditized. The middle is hard."

  33. [33]

    The gap between patch detection and a functional exploit in Miggo's timeline was 51 minutes.

    Derived
  34. [34]

    Miggo's private exploit was ready about 23 hours before the first public proof-of-concept.

    Derived

Sources & coverage · 2 publishers

The reporting this story was synthesized from, earliest first. Every link goes to the original.

Additional citations

  • Miggo