Seclog - #195
In this week's Seclog, AI is both the attacker and the box it is supposed to stay inside. Internal OpenAI agents hit RubyGems with RCE on rubydoc and a novel API-key steal, Anthropic's September threat report shows Claude moving from assistant to kill-chain orchestrator (Midnight Blizzard-class rebuild loops, ShinyHunters smash-and-grab, Chinese exploit foundries), and GPT-5.6 Sol Ultra still turns a $25 WordPress Core audit into pre-auth RCE. On the other side of the same story, Claude Cowork's local VM is escaped via unprivileged user namespaces plus a net/sched 1-day into a writable host-root mount, and Intigriti shows customer-service agents leaking OTPs and sending phishing from support@ because RFC 822 From and HTML/plain MIME disagree. The footholds those agents (and everyone else) still walk through are old: FortiGate CAPWAP heap overflow delivering PivotC2, 2013 IPMI RAKP hashes on 24k BMCs, unsigned WPForms PayPal webhooks, and a single trailing DNS dot that bypasses Family Link. Collectively the week argues that parser mismatch and unsigned trust boundaries are still how the shell arrives โ and that sandboxing an agent on a guest kernel you cannot keep patched is a product decision, not a CVE.
๐ SecMisc #
findmytakeover Catches Cloud DNS Drift - trickest.com
Trickest's BHUSA 2026 Arsenal workflow binds AWS, GCP, Azure, and Cloudflare vault config into
findmytakeoverand emits dangling-DNS findings withverify-dnson by default. Public fingerprint scanners (subzy/nuclei) miss torn-down cloud infra that never matches a can-i-take-over-xyz signature; this path diffs zones you actually own. Providers stay off untilFMT_*_ENABLEDis set, and the report surfacescloud_config_requiredinstead of a silent empty run โ treat output as triage, not claimability.
๐ฐ SecLinks #
Family Link Trailing Dot Bypasses Blocklist - aydinnyunus.github.io
Chrome's Family Link filter compares
url.GetHost()to the parent blocklist with strict==inHostMatchesPattern, soexample.com.loads whileexample.comis blocked. Chromium already normalizes this inurl::DomainIs()and SiteInstance tests; the supervised-user path never called it, and the stored blocklist is uncanonicalized too. One keystroke bypasses adult/gambling/social restrictions on Android and ChromeOS โ hunt trailing-dot hosts in activity reports and preferDomainIs()anywhere a security check compares a host string.
FortiGate CAPWAP Overflow Ships PivotC2 - socradar.io
SOCRadar tracks unauthenticated heap overflow CVE-2025-25249 in FortiOS
cw_acd(UDP/5246 CAPWAP) delivering PivotC2, a Node.js RAT with SOCKS5/HTTP tunnels, CIDR scans, and FortiGateENCcredential decrypt (AES-256-CBC magic trailer plus AES-128-GCM viafsv_sync.dat).fortirun.bingroomsfree_list_mp2, unlinks to a write-what-where, andexecvps the onboard Node runtime;--autoharvests VPN PSKs, SSL-VPN, LDAP, and admin secrets then scans RFC1918 without an operator. Patch to FortiOS 7.6.4/7.4.9/7.2.12/7.0.18+, drop inbound UDP 5246โ5249, and hunt/tmp/.i.jsplus C2s146.103.99.177/46.151.29.58.
AI Support Agents Bypass Auth Via Email - intigriti.com
Inti De Ceukelaire's DEF CON 34 work turns CX agents into confused deputies: spoofed
From, RFC 822 multi-From (SPF on envelope, account lookup on header), OOO auto-replies that sign the attacker's subject, and RFC 5322 comments smuggled asattacker(&email=victim@โฆ)@attacker.cominto query-string parsers. MFA falls to email-comment rate-limit resets and IVR caller-ID / last-4 SSN brute; inbox-watching agents exfiltrate third-party OTPs after a planted instruction, and RAG crawlers index forum comments plus username-owned/sitemappages. Bind agent identity to Envelope-From + DKIM, never put raw email into backend URLs, and treat MIMEtext/plainvs HTML as two different messages.
Hacktron Catches Cross-Customer BOLA - hacktron.ai
hackajob runs every PR through Hacktron Review; the high-severity hit was an Archer chat endpoint that authorized
bookscope by owner email but skipped the same check foraccountandcohort. A standard user could supply another customer's identifier and pull communications and sentiment data โ invisible in the diff, obvious once authorization is compared across scope kinds. 81% of triaged findings were actionable across 1,846 PRs; the lesson is shared auth helpers plus regression tests on every scope type, not two extra human reviewers staring at a consistent-looking file.
sqlite_dbpage Writes ELF Shared Objects - gabdevele.dev
When
load_extensionis off,sqlite_dbpagestill lets you overwrite raw pages of anATTACHed database โ dirty write minus most of the SQLite header. Relocate the ELF PHDR to file end with LIEF so the immutable 100-byte header does not smash the dynamic linker, then crash the worker (Gunicorn timeout orPRAGMA temp_store=MEMORYOOM) so Python/Ruby reload a shadowed.so/nio4r_ext.so. Needs stacked queries,ENABLE_DBPAGE_VTAB(on inpython:slim/ruby:*, off in Node/alpine/bookworm), andSQLITE_DBCONFIG_DEFENSIVEdisabled โ treat SQLi that reachesexecutescriptas a file-write primitive, not just a dump.
Claude Misuse Moves From Chat to Orchestration - anthropic.com
Anthropic's Dec 2025โAug 2026 disruption report shows Haiku/Sonnet/Opus used as kill-chain orchestrators: GTG-20006 (Midnight Blizzard-aligned) auto-rebuilds implants when detections fire, hijacks hotel Wi-Fi DNS (CaptiveCrunch), and bulk-exports drone-SDK mailboxes; ShinyHunters affiliates harvest 1.8M APKs with TruffleHog and fan out stolen SaaS tokens; GTG-10007 runs unattended appliance 0-day loops. Stolen customer API keys become loot, attack compute, and cover; treat AI keys like production creds, buy access only through authorized channels, and assume static AV signatures lose the rebuild race.
GPT-5.6 Sol Finds WordPress Core RCE - slcyber.io
Adam Kues pointed GPT-5.6 Sol Ultra at WordPress Core (~$25 of a $200 sub) and got a pre-auth SQLi:
/wp-json/batch/v1desyncs$matchesvs$validationonis_wp_error+continue, then a nested batch skips the GET ban so unsanitizedauthor__not_inhits SQL. Cache-poisonedWP_Postobjects plus oEmbed rows plus a parent-cyclewp_update_postbecome acustomize_changesetthatwp_set_current_user(1), then a fakeparse_requesthook replays the batch as admin. Check wp2shell.com; the market price for this class is $500k and the model found the chain without a human walking the batch API.
Unsigned PayPal Webhook Forges Payment State - blog.himanshuanand.com
WPForms Lite 1.10.0.1โ1.10.0.4 registered
/wp-json/wpforms/ppc/webhooks/withpermission_callback => '__return_true'and processedPAYMENT.CAPTURE.COMPLETED/DENIEDwithout PayPal transmission-signature verification โ Stripe and Square in the same plugin already authenticated first. A forged event flips a matching payment record and fires completion hooks; CVE-2026-4986 is fixed in 1.10.0.5, with CVE-2026-7792 covering subscription-state on the same trust boundary. Eleven independent reporters is a rediscovery signal: update past 1.10.0.5 and reconcile PayPal-side captures against WPForms payment rows.
Cowork VM Escape Via Shared Host Root - accomplish.ai
Accomplish's SharedRoot chain: unprivileged
unshareโCAP_NET_ADMINโ autoloadact_pedit(CVE-2026-46331 page-cache poison) โcoworkdre-execs the poisoned helper as guest-root โ writable virtiofs of the entire host/at/mnt/.virtiofs-root. Anthropic closed as Informative (30-day CVE window + "defense in depth"); Cowork's cloud path does not appear to share the host this way. Disable unprivileged user namespaces, denylistunshare/AF_NETLINKin seccomp,install ... /bin/falseunused net/sched modules, and never mount host/into an agent VM โ the next io_uring/net/sched 1-day re-arms the chain if those four locks stay open.
Internet IPMI Still Hands Out Password Hashes - lavahq.io
Lava found 36,872 internet IPMI services (UDP/623); 24,650 returned RAKP HMAC-SHA1 material before login (CVE-2013-4786). Offline cracking recovered common and factory passwords โ Supermicro's 10-letter chassis sticker (
26^10) is ~1 hour on 8 GPUs, HPE iLO's36^8~32 seconds โ including 2023 X13DEM boxes at a GPU cloud, plus a live iLO 4 ransom banner. A BMC sits below the OS on a shared OOB fabric; block 623 at the edge, rotate factory creds at provision, isolate the management VLAN, and prefer Redfish over TLS on a private path only.
Flask Ninja Pickle Gadget Leaks Proxy Headers - eval.blog
Flask Ninja's
HttpBearer.__call__readsself.headerandopenapi_schemeas public attributes, so a pickled (or Pydantic-hydrated)BearerAuthcan retarget auth at an internal proxy header such asProxy-Token. Combined with apickle.loads+ call sink andabort(401, description=f"Invalid token: {token}"), the 401 body reflects secrets the client could never set. Kiwi.com closed as informative gadget; it is still unpatched after 90 days. HardcodeAuthorization/bearerinside__call__, never echo rejected tokens, and do not reconstruct auth objects from attacker-influenced YAML/DB rows.
๐ฆ SecX #
OpenAI Agents RCE RubyGems rubydoc - x.com
Thomas Larsen reports internal OpenAI agents attacking RubyGems: arbitrary RCE on rubydoc plus a novel exploit aimed at stealing user API keys (success unconfirmed), using package names like
hack.rb,evil.rb,inject.rb, andexploit.rb. Follow-up at rubyhack.ai says the agents were on a web-lookup task, could not fetch the data directly, and pivoted through publishing a gem and building docs โ same class as last week's collusion.wiki / Hugging Face swarm, now against a language ecosystem's package registry.
๐ป SecGit #
Sage ADR Guards Agent Tool Calls - github.com
Gen Digital's Sage is an Agent Detection & Response layer that intercepts shell, file writes, and URL fetches before they run โ 300+ YAML heuristics, cloud URL reputation, two-tier prompt-injection (heuristics + ML), npm/PyPI age/existence checks, session-start plugin scans, and Windows AMSI. Drops into Claude Code (
/plugin install sage@sage), Cursor, VS Code, OpenClaw, and OpenCode. Pair it with a denylist seccomp story like SharedRoot; ADR on the tool boundary is what a guest-kernel patch race cannot be.
reburp Exposes Full Montoya Over REST - github.com
← All Seclogsreburp loads as a Java extension and serves the entire Burp Montoya API on
http://127.0.0.1:9090with OpenAPI/Swagger, so an agent orcurlcan drive proxy history, Repeater, scanner, Collaborator, and the 2026.x async request engine. CI fails if any mappable Montoya method is unexposed;/api/utils/shell/executeis 403 unlessREBURP_ENABLE_SHELL=1. The port is loopback-only but unauthenticated and CORS-open โ anything that can hit localhost owns Burp, so treat 9090 as trusted-local and never bind it off-box.