[ <- back-issue archive · live wire · issue #58 · HUB 30D · 2026-11-15 08:18 UTC ]
 .-.                      .-. 
(: `----------------------' :)
 )   issue #58 // hub 30d   ( 
(: .----------------------. :)
 `-'                      `-' 
> /var/archive/digest/58.bone :: [ HUB 30D // 819 sources analyzed // 2026-11-15 08:18 UTC ]

Teardown Season: Race Windows, Dead Decoders, and Keys That Outlived Their Welcome

CVE-2026-119618 is a race in Apache mod_http2's request handling that corrupts heap memory pre-auth, and Praetorian's writeup does not soften the blast radius: unauthenticated, network-reachable, every h2-enabled vhost a target until patched. It is not an outlier -- it is the dominant bug shape of the stretch: state torn down while somebody else still holds a reference. Ram Gall's WordPress CVE-2026-119977 puts the race inside the core update process itself, an unauthenticated condition spanning 4.7 through 7.1.3 with probes hitting within hours of the 7.1.4 fix -- twenty years of core and the patch path is the vuln [Ram Gall / Wordfence]. Datadog Security Labs' CVE-2026-118383 is the same class at the replication layer: an unauthenticated client triggers a use-after-free in MongoDB's primary catch-up path, exactly the bug that graduates to RCE with heap grooming. GPAC's gf_sg_proto_del (CVE-2026-128240, fixed in a2e5c62c) frees prototype scene-graph nodes during XMT teardown and then walks them again, and Google's gVisor crew quietly tightened device-cgroup confinement and filestore cleanup with no bulletin at all -- sandbox maintainers patching teardown paths silently is the classic tell. The Critical Thinking crew compressed the hunting angle into one line: a rig firing one request at a time will never see a race window that lives for a few milliseconds, so interleave requests against the same object or session [@ctbbpodcast]. @SinSinology found a remote race that escalates into a use-after-free the hard way, by hand, and is still grinding the exploit into shape. Single-threaded testing is not testing.

The parser layer rotted through in three places at once. php2shell -- CVE-2026-109618/109619, engine-level RCE plus a Heartbleed-style memory disclosure in PHP core, discovery credit to @calif_io and @lcfr_hax, two-word obituary ('PHP 2 SHELL') from @SinSinology -- put roughly 70 percent of the web in scope Wiz Research, and Praetorian's follow-up is the part the PoC reposters skipped: the RCE is conditional on build configuration and most circulating exploits are broken, so confirm against your own build before trusting a scanner hit. Assetnote did the decent half, open-sourcing the php2shell-scanner with detection logic published alongside, then shipped node2shell-scanner days later for CVE-2026-111497 ('Broccoli2shell'), where untrusted Brotli decompression becomes RCE in Node.js HTTP apps -- confirmed by streaming a ~23MB payload after probing Content-Encoding handling -- with commit 6a14c079 in upstream google/brotli as your diff anchor for every non-Node stack that bundles its own decoder. Meanwhile libdca, the unmaintained VideoLAN DTS decoder distros still ship even though VLC 4.0 dropped it, gave up two OOB reads in one week: bitstream.c's bitstream_fill_current() does tmp = *(state->buffer_start++) with zero end-of-buffer check, so a crafted .dts frame marches the pointer clean off the heap [oss-security]. Dead code, live bug class -- every media front-end linking it inherits the walk. Stack watchTowr's Barracuda chain on top (CVE-2026-116606/CVE-2026-111560, pre-auth remote root on the Email Security Gateway, no creds, no interaction) plus GPUStack's trivial auth bypass (CVE-2026-102895, before 2.2.0, live exploit attempts already in ISC's logs), and @0xLupin's rebrand -- 'Internet2Shell' -- stops sounding like a joke. The floor is the attack surface.

The supply-chain front asks a different question: not whether you can pop the parser, but whose token outlived its welcome. @wunderwuzzi23's LiteLLM timeline is brutal in the plain sense -- a backdoor key leaked May 27, the leak was found internally, the key was never revoked, and on October 10 an attacker used it to grab GitHub creds and poison releases, four-plus months between exposure and boom. 'Rotated' it was not. Cursor's marketplace breach ran the same play, credentials lifted from Fireworks pushing a malicious extension straight through the 'trusted' distribution channel -- your editor is a package manager now, so audit what it auto-fetches and pin what it executes. And the Depi chain is the one to read twice: @0xLupin gave @0xMadder and @_Worty six months to break

 .-.                    .-. 
(: `--------------------' :)
 )   intel brief // #58   ( 
(: .--------------------. :)
 `-'                    `-' 
> /var/archive/digest/58.intel :: [ 2026-11-15 08:18 UTC ]
  • php2shell -- PHP core RCE pair -- CVE-2026-109618/109619 land engine-level RCE plus Heartbleed-style memory disclosure in the PHP core, with working exploits already firing and roughly 70 percent of the web exposed. Praetorian's follow-up is blunt: exploitable but conditional, and most circulating PoCs are broken -- confirm against your own build before trusting a scanner hit [Wiz Research, Praetorian].
  • Barracuda ESG pre-auth remote root -- CVE-2026-116606/CVE-2026-111560 chain into pre-auth remote root on the Email Security Gateway. No creds, no user interaction, just a mail gateway handing you a root shell -- patch ESG boxes and grep logs for pre-auth probes [watchTowr Labs].
  • WordPress upgrade-window race RCE -- CVE-2026-119977 is an unauthenticated race condition in the core update process giving RCE across versions 4.7 through 7.1.3, fixed in 7.1.4 with exploitation attempts detected within hours of release. The upgrade window itself is the attack window -- twenty years of core and the patch path is the vuln [Ram Gall / Wordfence].
  • Brotli decoder RCE in Node.js -- CVE-2026-111497 ('Broccoli2shell') turns untrusted Brotli decompression into remote code execution in Node.js HTTP apps; Assetnote's node2shell-scanner confirms exploitability by streaming a ~23MB payload after probing Brotli/JSON content-type handling. Any endpoint passing attacker-controlled Content-Encoding through the decoder is a shell oracle [Wiz Research, Assetnote].
  • GPUStack trivial auth bypass under active exploit -- CVE-2026-102895 is a trivial authentication bypass in GPUStack before 2.2.0 exposing GPU cluster management, and ISC scans show active exploit attempts already in the logs. Unpatched GPU fleet managers are effectively open cluster consoles [SANS ISC].
  • Apache mod_http2 heap corruption race -- CVE-2026-119618 is a race condition in mod_http2 that corrupts heap memory and plausibly yields RCE; every HTTP/2 front door is in scope until patched. Race-to-corruption in the world's most-deployed web server is not a drill [Praetorian].
  • libdca bitstream heap walk -- the unmaintained VideoLAN DTS decoder does tmp = *(state->buffer_start++) in bitstream.c with zero end-of-buffer check, so a crafted .dts frame marches the pointer straight off the heap -- the second OOB read in the same library this month. VLC 4.0 dropped it but distros still ship the lib, so every media front-end linking it inherits the bug [oss-security].
  • N-able '4EverAble2Shell' zero-day exploited hours after PoC -- N-central zero-day dropped cryptominers within hours of PoC release, and 19 of 21 compromised hosts were on the latest update -- the patch looks bypassable. Treat as actively exploited RCE regardless of what the vendor's version matrix claims [BleepingComputer].
 .-.                      .-. 
(: `----------------------' :)
 )   possibilities // #58   ( 
(: .----------------------. :)
 `-'                      `-' 
> /var/archive/digest/58.possibilities :: [ 819 sources ]
  • Diff PHP core builds for the php2shell conditions -- the RCE is conditional, so identify exactly which SAPI, allocator, and array-handling configurations make CVE-2026-109618/109619 fire; sweep targets with Assetnote's php2shell-scanner logic (62-level-deep array keys, 1MiB-20MiB probes) before wasting a payload on a non-vulnerable build [inspired by Praetorian, assetnote/php2shell-scanner].
  • Hunt the Brotli twin in non-Node HTTP stacks -- CVE-2026-111497 sits in the decoder, so grep every HTTP stack that bundles its own Brotli (Python frameworks, Go reverse proxies, Caddy, CDN plugins) for the same shared-dictionary state loss on serialized parse failure; commit 6a14c079 in upstream brotli is your diff anchor [inspired by Wiz Research, google/brotli].
  • Race the WordPress upgrade window on unpatched cores -- the vuln lives in the core update process, so fingerprint sites still on 4.7-7.1.3 and time requests against the auto-update window; the race is unauthenticated, so a tight request-timing harness against wp-cron/update endpoints is the whole game [inspired by Ram Gall / Wordfence].
  • Chain SSRF-to-RCE patterns in Oracle middleware -- ZDI says three distinct bugs were patched under the single PeopleSoft CVE-2026-35273, so grab the June 2026 patch set and diff for the two unreported siblings; ShinyHunters are already mass-exploiting the known one, meaning the twins are pre-0day for anyone who diffs [inspired by ZDI].
  • Fingerprint WiFi-exploitable devices by SSID prefix via Wigle -- bugs exploitable over WiFi and identifiable by SSID prefix turn one Wigle.net query into a geolocated target list; build the SSID-prefix -> CVE mapping for embedded/IoT firmware you've already reversed, then let wardriving archives do your recon [inspired by @nmatt0].
  • Sweep CSP allowlists for JSONP/upload/redirect gadgets -- take @albinowax's CSP research operational: for each allowlisted domain in a target's policy, probe for JSONP endpoints, open redirects, and upload paths that bounce tokens back; renniepak/CSPBypass's matcher (now handling scheme-relative and multiple directives) automates the allowlist enumeration half [inspired by James Kettle, renniepak/CSPBypass].
  • Mine dawgyg's macOS corpus for cross-OS ports -- a raw C dump of macOS bugs that never met bounty thresholds; diff each finding against iOS/iPadOS and visionOS frameworks sharing the same XNU/IPC surface, since unreported-on-macOS often means unreported-everywhere [inspired by dawgyg/AppleResearch].
  • Exploit the negative-day window with silent-patch watchers -- videt flags OSS security fixes landing before CVE assignment and checks reachability; point it at high-value parser and protocol repos (the libdca-class media libs distros still ship), and race the commit-to-advisory gap that N-able just proved is measured in hours [inspired by vitorfhc/videt].
 .-.                     .-. 
(: `---------------------' :)
 )   github brief // #58   ( 
(: .---------------------. :)
 `-'                     `-' 
> /var/archive/digest/58.github :: [ code & repo tradecraft ]

Scanner authors dominated the stretch: Assetnote shipped three high-fidelity detectors for the php2shell and node2shell waves, xssdoctor kept pushing inert Git-client execution harnesses, and vitorfhc's videt formalized the negative-day patch-diffing game just as the N-able zero-day proved the commit-to-advisory window is now measured in hours. Between the 62-level-deep PHP array probes and the loopback protocol-v2 fixtures, the repos this month read like a field manual for confirming -- not just claiming -- exploitability.

  • assetnote/php2shell-scanner -- Python scanner for CVE-2026-109618/109619 that sends multipart control requests and probes with 62-level-deep PHP array keys scaling from 1MiB to 20MiB. High-fidelity detection without firing blind payloads at prod; the key-depth scaling is the interesting part to read.
  • assetnote/node2shell-scanner -- probes Brotli/JSON content-type handling in Node.js HTTP apps, then streams a ~23MB payload to confirm CVE-2026-111497 exploitability. Pairs with the Wiz writeup; the content-type gate logic is worth diffing against your own detection scripts.
  • xssdoctor/git-cve-2026-113408-poc -- loopback-only smart-HTTP fixture proving git clients accept an unsafe unborn HEAD symref from a protocol-v2 server, with branch-update resolution escaping the .git directory. Clean, inert oracle you can run locally in five minutes.
  • vitorfhc/videt -- watches major OSS repos for silent security patches landing before a CVE is assigned, then checks whether the fix is actually reachable/exploitable. Formalizes the negative-day hunt that this month's N-able and gVisor silent-cleanup commits both point at.
  • dawgyg/AppleResearch -- raw C dump of macOS vulnerability research the author believes should be patched but went unreported for missing bounty thresholds. 510 stars in days; a large corpus of unreported findings, some plausibly portable to iOS and visionOS.