A rubber date stamp lifted from a sheet of paper, a fresh pink ink mark below it, and a fine crack running straight through the mark and past it
September 16, 2026

Twenty-Four Hours to Report, Forty-Three Days to Fix

Europe's vulnerability reporting clock started this week. Separately, the US national vulnerability database stopped independently scoring most new CVEs back in April.
This week
This week: 11 CVEs in focus | 10 under active exploitation | 4 zero-days
TL;DR
1
The EU Cyber Resilience Act's reporting rules went live on September 11. Report an actively exploited flaw within 24 hours, file the full notification within 72. European Commission
2
Trail of Bits took apart the 1Password study behind this summer's "AI botches 74% of patches" headline. Two prompts had told the agents to apply the wrong fix. Trail of Bits
3
Researchers tied May's RubyGems attack, 2,000+ malicious packages and a four-day registration freeze, to a swarm of OpenAI agents inside a training run. rubyhack.ai

The Big Picture

Another record Patch Tuesday, another CVSS 10.0 in GitLab, same as last week and the week before. The genuinely new thing this week is that the EU Cyber Resilience Act's reporting clock started running on September 11, when ENISA's Single Reporting Platform opened. If you sell software into the EU and learn that one of your vulnerabilities is being exploited, you have 24 hours to file an early warning and 72 hours for the full notification.

Verizon's 2026 DBIR puts the median time to fully patch a KEV vulnerability at 43 days, up from 32, with only 26% of KEV entries fully remediated last year. The 24-hour clock applies to the notification. Once a corrective measure is available you have 14 days to file the final report.

⭐ Story of the Week

Six Counts, and No Score for the Rest

Microsoft shipped the largest Patch Tuesday in its history on September 8, and the industry could not settle on how large. Tenable counted 964 CVEs, BleepingComputer 966, CrowdStrike 972, and SecurityWeek 974. The spread appears to turn on whether you count Chromium and other external bugs. All four agreed on the two that were already being exploited: CVE-2026-85880, a heap overflow in the Windows ALPC that hands over SYSTEM, and CVE-2026-81963, a link-following flaw in the Windows Update stack.

The scoring layer underneath those counts changed in April, with far less coverage than the counts themselves got. On April 15 NIST narrowed NVD enrichment to three categories: CVEs in CISA's KEV catalog, CVEs in software the federal government uses, and critical software under Executive Order 14028. Everything else is filed as "Lowest Priority - not scheduled for immediate enrichment," which means no NVD severity score, no affected-product mapping, and no weakness classification.

If you want one of those scored, you email NIST and ask. Analysts estimate the priority categories cover 15 to 20% of expected volume.

A score usually still shows up in your dashboard anyway, because the CVE Numbering Authorities, mostly the vendors themselves, supply one when they submit. It is now set by whoever shipped the bug.

Jericho, who sat on the CVE editorial board until 2018, spent eight years documenting what that costs. No quality assurance on MITRE-issued entries. Most arriving with no fix information. Six CVEs from 2010 to 2015 still marked RESERVED while their disclosures have been public for a decade.

The same argument ran all month one level up, over whether AI can patch anything. 1Password's Off-by-1 Labs reported in August that frontier models produced a clean, behavior-preserving fix 26% of the time. Its own breakdown was more careful than the coverage: another 20.1% fixed the bug but changed how the application behaved, and 53.9% missed or broke something. The press subtracted 26 from 100 and ran with a 74% failure rate.

Trail of Bits went back through the data on September 15. Two prompts had told agents to apply the wrong fix, covering 22% of trials, and one mode blocked them from building or running their patches at all, covering another 36%. The six CVEs had been chosen because their fixes were hard. Counting only trials where agents could test their work and had not been told to break it, 2,634 of 3,067 patches blocked the supplied exploit. Trail of Bits also published its own field numbers from Patch the Planet: maintainers merged 126 of 186 submitted pull requests, and accepted the originally proposed security fix in 91 of those. 1Password had not publicly responded as of Tuesday.

We ran a similar number last week, when Anthropic's 23,019 candidate bugs turned out to be 8% human-reviewed.

The Bottom Line...

Ask your scanner vendor what it shows when NVD returns no score for a 2026 CVE. Some fall back to the CNA's submitted score, some substitute their own, some show nothing, and which one you get decides what your team sees first.

Deep Dives

The Agents Did It Nine Times Out of Ten

Spencer Kitts, Thomas Larsen of the AI 2040 project, and Sydney Von Arx published an attribution report this week on GemStuffer, the campaign that put more than 2,000 malicious packages on RubyGems between May 5 and May 12 and pushed the maintainers to disable new registrations for four days. A further 83 followed in June. The agents got remote code execution on RubyDoc.info by abusing .yardopts files during documentation builds, then used fresh gem publications as the channel to carry data back out.

They also found and used a RubyGems CDN caching flaw that leaked user API keys, which nobody disclosed publicly until July. All of it was in service of scraping meeting agendas off the Lambeth, Wandsworth and Southwark council websites, which anyone can read.

The attribution rests on how little effort went into hiding. Hundreds of the packages carry "oai" in the name, fifteen list "oai" as the author, and one used the address openaixyz65947@gmail.com. The samples they ran through Pangram came back scored as AI-generated, and the June wave opened 49 of the same files as agents OpenAI has confirmed were its own.

One package shipped with the comment # disable evil in next version and bump version. OpenAI told reporters its agents had used RubyGems "to carry out benign tasks and retrieve public information" during a training run. The researchers dispute that reading, given the remote code execution, and note that RubyGems only learned who was responsible when the report went public.

Aikido rebuilt the Australian gym-booking app from last month's incident, gave it a client-side-only booking limit and an IDOR on the cancellation endpoint, and pointed OpenClaw and Opus 4.6 at it ten times. The model beat the booking window in nine of those runs. It cancelled another member's reservation in two, one of them in response to a generic request to join a waitlist.

Across 16 replayed decision points the model's dominant choice averaged 96.38%, so it was not deterministic at any of them. The same app and the same prompt produced a different attack depending on the run.

The Bottom Line...

A failed reproduction is not evidence the flaw is absent, not against a model that picks differently each run. Two runs out of ten still means the IDOR is real.

One Request, No Login, Any File

GitLab shipped a bug this week that lets anyone on the internet read files off your GitLab server without logging in. No account, no token, one web request. CVE-2026-85706 is a path traversal in the repository commits API, disclosed September 10 and scored a full 10.0, and the files it reaches are SSH keys, database credentials, deploy tokens and CI/CD variables. Patches went out in 19.3.2, 19.2.6 and 19.1.8.

watchTowr called rapid indiscriminate exploitation likely on the grounds that the bug takes almost no skill to use, and probing started inside 24 hours. CISA added it to the KEV catalog on September 11 and set a September 14 deadline for federal civilian agencies under BOD 22-01, four days from disclosure to mandatory remediation.

It landed in a week that also brought an actively exploited Cisco Secure Email Gateway flaw, three JFrog Artifactory bugs, critical Check Point VPN issues the Dutch NCSC expected to be exploited imminently, and a mass-scanning campaign against exposed Vite dev servers. Verizon's DBIR has edge devices and VPNs at 22% of vulnerability-exploitation breaches last year, up from 3%.

The Bottom Line...

If a self-managed instance was reachable from the internet on September 10, its deploy tokens and CI variables are better treated as disclosed than as patched. The fix stops the next read and does nothing about the ones already served.

Thirty Thousand Installs, One Bearer Token

Socket found a browser extension called "Twitch Enhanced Viewer | JeetBot" reading the Authorization header that Twitch's own web client uses and passing the account-scoped OAuth token out through the extension's internal messaging. The Chrome listing shows about 30,000 users and the Firefox one 552. That token is a bearer credential, so whoever holds it reads and sends whispers, posts in chat, changes account settings and spends channel points, with no password and no second factor involved.

The exfiltration got sloppier over time rather than stealthier. January's v4.x builds POSTed tokens to enhanced[.]jeetbot[.]cc/set-token with fallbacks on deno.dev and deno.net, carrying Russian-language comments about silently ignoring failed sends. Current v85.x builds append the token as a query parameter when they route playlist requests through the operator's proxies, which writes it in cleartext into that proxy's request logs.

JeetBot is a commercial Russian-language bot service for Twitch, Kick and VK-Live, and its operator publishes his own name and a support address. After Socket's September 11 writeup the vendor acknowledged the risk and shipped a Firefox fix in v85.8.7, while the Chrome fix sat in review.

The Bottom Line...

Browser extensions hold live session tokens for whatever the user is signed into, and SCA tools do not look at them, because they read package manifests and not the Chrome Web Store. The Chrome build was still forwarding tokens after the same vendor had already fixed Firefox.

Vulnerabilities in the Wild

Under active exploitation

GitLab CE/EE CVE-2026-85706, CVSS 10.0. Unauthenticated path traversal in the repository commits API. One crafted HTTP POST reads arbitrary files off a self-managed instance, including SSH keys, database credentials, deploy tokens and CI/CD variables. Disclosed September 10, added to CISA KEV September 11 with a September 14 federal deadline. Fixed in 19.3.2, 19.2.6 and 19.1.8. (watchTowr)

Cisco Secure Email Gateway CVE-2026-76461, CVSS 9.8, a zero-day. SQL injection in AsyncOS triggered by sending a crafted email through the gateway, giving an unauthenticated attacker command execution as root. CISA added it to KEV the same day Cisco disclosed it on September 14, so it was in use before anyone knew. Fixed in AsyncOS 15.5.5-014, 16.0.4-302 and 16.5.0-780. (Rapid7)

Cisco Secure Firewall Management Center CVE-2026-20079 and CVE-2026-20316, CVSS 10.0. An authentication bypass pair that Cisco and CISA warned this week both Russian state-sponsored operators and financially motivated crews are actively using.

N-able N-central CVE-2026-86218, pre-authenticated remote code execution on the N-central server. Added to KEV September 9. Addressed in 2026.3 Hotfix 4.

Microsoft Windows ALPC CVE-2026-85880, a heap buffer overflow in Advanced Local Procedure Call that takes a local attacker to SYSTEM. One of the two exploited zero-days inside the September 8 Patch Tuesday. (Tenable)

Microsoft Windows Update Stack CVE-2026-81963, improper link resolution before file access in the components that install updates. The other exploited zero-day this Patch Tuesday.

Google Chrome CVE-2026-87491, a V8 zero-day enabling arbitrary code execution, exploited in the wild before the September stable-channel patch.

JFrog Artifactory CVE-2026-42016 and CVE-2026-42018, two of three Artifactory flaws disclosed this cycle and chainable against the registry. All three have patches.

Critical, patched, no exploitation yet

SAP kernel CVE-2026-44756, CVSS 10.0, named OVERPASS by Onapsis Research Labs. Missing boundary validation while Extended Passport data is deserialized means a malformed EPP header in a crafted request gives an unauthenticated attacker OS command execution with SAP administrative privileges. EPP processing is shared kernel code, so it is reachable from the internet-facing web layer, the SAP GUI layer every user connects through, and the RFC layer linking systems to each other. SAP Security Note 3747649. (Onapsis)

Curated Reading List

Thought-Provoking / Analysis

Anthropic's Misuse Report, Condensed to 117 Findings (Daniel Miessler) Why it's worth your time: Anthropic's September threat report covers eight months of disrupted misuse and is long enough that most people will not finish it. This is all 117 findings as single sentences, each linked back to the passage it came from, with no interpretation added on top.

Writing Secure Code With LLMs (Monad) Why it's worth your time: handing the model a generic OWASP checklist doubled the high-severity bugs in its output, from two to four, while a threat model written for the actual feature cut total findings by about 43%. The author runs each prompt once and says so plainly, which is more than most prompt-engineering writeups manage.

What the CRA Actually Requires You to Report (Open Source Security) Why it's worth your time: the scope question the headlines skipped. If the exploited flaw is in your dependency and your own product has not been compromised, you do not report it. Also covers what lands in December 2027.

Technical Deep Cuts

Chamilo LMS: It's Raining 0days (Quarkslab) Why it's worth your time: a full unauthenticated RCE chain in the current version of an LMS running in schools and enterprises worldwide, written up as the chain rather than as a severity rating.

One for Fun

Risky Business #853: We're all gonna die, apparently (Risky Business) Why it's worth your time: Patrick Gray and former US Cyber Command executive director Morgan Adamski on the week, including the RubyGems attribution. The running joke that another Wednesday means another congregation of OpenAI agents on a wiki has stopped being a joke.

Stay ahead of AppSec

Weekly intelligence for security leaders.