[{"data":1,"prerenderedAt":1299},["ShallowReactive",2],{"post-de-http2shell-brotli-lucke-jenseits-von-node-js":3,"related-de-http2shell-brotli-lucke-jenseits-von-node-js":447},{"id":4,"title":5,"author":6,"body":7,"category":418,"date":419,"description":420,"draft":421,"extension":422,"faq":423,"image":432,"imageAlt":433,"lang":434,"legacyUrl":435,"meta":436,"navigation":437,"path":438,"readingTime":439,"seo":440,"sitemap":441,"stem":442,"tags":443,"translation":445,"updated":435,"__hash__":446},"insightsDe\u002Fde\u002Finsights\u002Fhttp2shell-brotli-lucke-jenseits-von-node-js.md","HTTP2Shell: Die Brotli-Lücke reicht weit über Node.js hinaus","blacklens.io Team",{"type":8,"value":9,"toc":406},"minimark",[10,25,30,48,52,55,179,194,198,209,224,231,235,277,289,293,305,313,317,320,386,390,403],[11,12,13,14,18,19,24],"p",{},"Aus Node2Shell ist am 23. Oktober HTTP2Shell geworden – ein neuer Name, keine neue Lücke. Gemeint ist weiterhin ",[15,16,17],"code",{},"CVE-2026-111497"," im Brotli-Decoder, deren Folgen für Node.js im ",[20,21,23],"a",{"href":22},"\u002Fde\u002Finsights\u002Fnode2shell-warum-node-patchen-nicht-reicht","Beitrag von gestern"," stehen. Neu ist, wie weit dieselbe Bibliothek reicht: in Python-Pakete, Bun, Envoy, curl und Git for Windows. Gefährlich wird sie dort unter einer Bedingung, die in vielen Warnungen fehlt – die Software muss Brotli-Daten aus fremder Quelle entpacken.",[26,27,29],"h2",{"id":28},"was-ist-http2shell","Was ist HTTP2Shell?",[11,31,32,33,35,36,39,40,43,44,47],{},"HTTP2Shell ist der Name, unter dem das Sicherheitsunternehmen Aikido am 23. Oktober 2026 die Reichweite von ",[15,34,17],{}," über Node.js hinaus beschrieben hat: einem Out-of-Bounds-Write im Brotli-Decoder von Google, betroffen sind die Fassungen 1.0.3 bis 1.2.0. Der Name verschiebt den Blick vom Laufzeitsystem auf das Protokoll. Betroffen sein kann jede Software, die Brotli-komprimierte HTTP-Daten entpackt. Fehler, Fix und die korrigierten Fassungen ",[15,37,38],{},"1.0.10",", ",[15,41,42],{},"1.1.1"," und ",[15,45,46],{},"1.2.1"," sind dieselben wie am 21. Oktober; den CVE-Eintrag hat Google selbst herausgegeben.",[26,49,51],{"id":50},"wer-betroffen-ist-und-unter-welcher-bedingung","Wer betroffen ist – und unter welcher Bedingung",[11,53,54],{},"Betroffen ist eine Software nur, wenn sie eine verwundbare Brotli-Fassung enthält und damit Daten entpackt, die ein Angreifer liefern kann. Bei den meisten der jetzt genannten Projekte ist genau das optional:",[56,57,58,74],"table",{},[59,60,61],"thead",{},[62,63,64,68,71],"tr",{},[65,66,67],"th",{},"Komponente",[65,69,70],{},"Betroffen, wenn",[65,72,73],{},"Fix",[75,76,77,100,120,142,164],"tbody",{},[62,78,79,89,92],{},[80,81,82,83,39,86],"td",{},"Python ",[15,84,85],{},"brotli",[15,87,88],{},"brotlicffi",[80,90,91],{},"requests, httpx oder aiohttp sie vorfinden",[80,93,94,96,97],{},[15,95,46],{}," bzw. ",[15,98,99],{},"1.2.1.0",[62,101,102,105,115],{},[80,103,104],{},"Bun",[80,106,107,110,111,114],{},[15,108,109],{},"fetch"," oder ",[15,112,113],{},"node:zlib"," Brotli entpackt",[80,116,117],{},[15,118,119],{},"1.4.4",[62,121,122,125,128],{},[80,123,124],{},"Envoy",[80,126,127],{},"der Brotli-Decompressor konfiguriert ist",[80,129,130,39,133,39,136,39,139],{},[15,131,132],{},"1.37.8",[15,134,135],{},"1.38.6",[15,137,138],{},"1.39.3",[15,140,141],{},"1.40.0",[62,143,144,147,153],{},[80,145,146],{},"Istio",[80,148,149,150,114],{},"es etwa per ",[15,151,152],{},"EnvoyFilter",[80,154,155,39,158,39,161],{},[15,156,157],{},"1.29.9",[15,159,160],{},"1.30.6",[15,162,163],{},"1.31.2",[62,165,166,169,176],{},[80,167,168],{},"curl, libcurl",[80,170,171,172,175],{},"mit Brotli gebaut und ",[15,173,174],{},"--compressed"," gesetzt",[80,177,178],{},"Brotli-Bibliothek oder Build aktualisieren",[11,180,181,182,185,186,189,190,193],{},"Für Python hat GitHub am 22. Oktober ein eigenes Advisory veröffentlicht, ",[15,183,184],{},"GHSA-9v8h-qqgm-4m35",". Die Pakete kommen oft als indirekte Abhängigkeit in eine Umgebung. Istio hat den Fix bereits am 15. Oktober ausgeliefert, vor der Offenlegung. Kopien, die fest in ein Programm eingebaut sind, brauchen einen neuen Build: Git for Windows ",[15,187,188],{},"2.56.0.windows.3"," vom 22. Oktober führt in seiner Paketliste weiterhin ",[15,191,192],{},"brotli 1.2.0-1",".",[26,195,197],{"id":196},"server-und-client-die-richtung-entscheidet","Server und Client: Die Richtung entscheidet",[11,199,200,201,204,205,208],{},"Die Lücke wirkt in beide Richtungen, und die zweite wird leicht übersehen. Auf der Serverseite entpackt eine Anwendung Brotli-komprimierte Anfragen, bei Node.js etwa über die Parser von Express 5. Auf der Clientseite entpackt sie die Antwort eines Servers, den sie selbst aufruft: Bun und Nodes ",[15,202,203],{},"fetch()"," tun das automatisch, urllib3 und damit requests nach dem ",[15,206,207],{},"Content-Encoding"," der Antwort.",[11,210,211,212,215,216,219,220,223],{},"Für die Clientseite muss ein Angreifer keinen Server angreifen, sondern einen betreiben. Jede Funktion, die eine fremde Adresse abruft, ist ein solcher Weg: Webhooks, Link-Vorschauen, Avatar-Importe, ein ",[15,213,214],{},"git clone"," von einem unbekannten Server. Ein Test des Blogs lilting.ch vom 24. Oktober zeigt, dass urllib3 eine Brotli-Antwort selbst dann entpackt, wenn der Client mit ",[15,217,218],{},"Accept-Encoding: identity"," keine Kompression verlangt hat. Ein Reverse Proxy, der Anfragen mit ",[15,221,222],{},"Content-Encoding: br"," abweist, schützt diese Richtung nicht.",[11,225,226,227,230],{},"Bun nennt im Advisory ausdrücklich keinen Workaround für den ganzen Prozess; einzelne Abrufe lassen sich mit ",[15,228,229],{},"decompress: false"," schützen. Die verbreiteten Webserver sind dagegen selten der Weg: Apache und nginx komprimieren mit Brotli, entpacken laut Aikido aber standardmäßig nicht.",[26,232,234],{"id":233},"versionsnummern-zeigen-den-fix-nicht","Versionsnummern zeigen den Fix nicht",[11,236,237,238,43,241,244,245,248,249,252,253,256,257,260,261,264,265,268,269,272,273,276],{},"Ob eine Komponente den Fix enthält, lässt sich an ihrer Brotli-Versionsangabe nicht zuverlässig ablesen. Node.js hat in ",[15,239,240],{},"24.22.1",[15,242,243],{},"26.12.1"," nur den Fix-Commit übernommen; die Versionsdatei im Quellbaum steht weiter auf ",[15,246,247],{},"1.2.0",", in ",[15,250,251],{},"22.23.4"," auf ",[15,254,255],{},"1.1.0",", und ",[15,258,259],{},"process.versions.brotli"," meldet diese Werte. Debian hat den Fix zurückportiert: ",[15,262,263],{},"1.0.9-2+deb12u1"," für Bookworm (",[15,266,267],{},"DLA-4855-1",") und ",[15,270,271],{},"1.1.0-2+deb13u1"," für Trixie (",[15,274,275],{},"DSA-6582-1","), beide vom 23. Oktober. Wer nur die Upstream-Version vergleicht, meldet gepatchte Systeme als verwundbar.",[11,278,279,280,283,284,288],{},"Dazu kommt der Zeitplan. Der Fix-Commit ",[15,281,282],{},"0ed4268"," liegt seit dem 27. Februar 2026 öffentlich im Brotli-Repository, beschrieben als „Detect and report invalid stream earlier.“ Ein Release folgte erst am 21. Oktober. Knapp acht Monate stand die Korrektur damit im Quellcode, aber in keiner Fassung, die Distributionen und Paketmanager ausliefern – ein stiller Fix wie zuletzt beim ",[20,285,287],{"href":286},"\u002Fde\u002Finsights\u002Ffortinet-hardening-release-patchen-ohne-advisory","Hardening-Release von Fortinet",", nur länger.",[26,290,292],{"id":291},"wie-kritisch-die-lücke-wirklich-ist","Wie kritisch die Lücke wirklich ist",[11,294,295,296,300,301,304],{},"Die Lage hat sich seit dem 21. Oktober nicht verschärft, sondern geklärt: Bekannt ist jetzt, wo der Decoder überall steckt, Angriffe sind weiterhin keine bekannt. Google bewertet die Lücke mit ",[20,297,299],{"href":298},"\u002Fde\u002Fwissen\u002Fcvss","CVSS"," 9.2 nach Version 4.0, der Vektor enthält aber ",[15,302,303],{},"AT:P"," – ein erfolgreicher Angriff setzt bestimmte Einsatzbedingungen des Systems voraus. Andere bewerten niedriger: Node.js und Bun mit „high“, Amazon Linux mit 8.1 nach CVSS 3.1, Ubuntu mit der Priorität „medium“.",[11,306,307,308,312],{},"CISAs Einschätzung im CVE-Eintrag lautet für Ausnutzung „none“ und für Automatisierbarkeit „no“; im ",[20,309,311],{"href":310},"\u002Fde\u002Fwissen\u002Fcisa-kev","KEV-Katalog"," steht die Lücke mit Stand 24. Oktober nicht. Die einzige dokumentierte Codeausführung bleibt Impervas Exploit gegen Node.js, der nicht bei jedem Versuch gelang. Auf GitHub sind seit dem 21. Oktober mehr als 30 Repositories mit Proof-of-Concepts, Testlaboren und Prüfskripten zur CVE erschienen; ob darunter ein verlässlicher Exploit ist, ist offen.",[26,314,316],{"id":315},"was-jetzt-zu-tun-ist","Was jetzt zu tun ist",[11,318,319],{},"Die Arbeit verschiebt sich von der Frage nach der Version zur Frage, wer fremde Daten entpackt:",[321,322,323,340,353,359,365,371],"ul",{},[324,325,326,330,331,43,333,252,335,96,337,339],"li",{},[327,328,329],"strong",{},"Python-Umgebungen prüfen",", nicht nur die Projektdateien: ",[15,332,85],{},[15,334,88],{},[15,336,46],{},[15,338,99],{}," heben, auch in Container-Images.",[324,341,342,345,346,349,350,352],{},[327,343,344],{},"Fest eingebaute Kopien neu bauen."," Mit ",[15,347,348],{},"bun build --compile"," erzeugte Programme bleiben laut Bun verwundbar, bis sie mit ",[15,351,119],{}," neu gebaut sind; dasselbe gilt für statisch gelinktes curl.",[324,354,355,358],{},[327,356,357],{},"Proxy-Konfigurationen durchsuchen."," Envoy und Istio erreichen den Decoder nur mit aktivem Brotli-Decompressor; wo er konfiguriert ist, hat das Update Vorrang.",[324,360,361,364],{},[327,362,363],{},"Ausgehende Abrufe einbeziehen."," Dienste, die Adressen von Nutzern abrufen, entpacken die Antworten fremder Server.",[324,366,367,370],{},[327,368,369],{},"Distributionspakete aktualisieren"," und Prozesse neu starten. Ubuntu führt die Lücke als „needs evaluation“, Amazon Linux 2023 das Brotli-Paket als „pending fix“ (Stand 24. Oktober); dynamisch gelinkte Programme wie curl profitieren vom Bibliotheks-Update ohne eigenes Release.",[324,372,373,376,377,379,380,110,382,385],{},[327,374,375],{},"Versionsbefunde gegen den Fix-Stand prüfen."," Brotli ",[15,378,247],{}," in Node ",[15,381,240],{},[15,383,384],{},"1.0.9"," in Debian Bookworm ist kein Befund.",[26,387,389],{"id":388},"was-hilft-und-warum-sichtbarkeit-entscheidet","Was hilft – und warum Sichtbarkeit entscheidet",[11,391,392,393,397,398,402],{},"Bei HTTP2Shell zählt weniger, welche Brotli-Version installiert ist, als welche Systeme fremde Daten entpacken: öffentliche APIs, Proxys, Dienste, die Adressen von Nutzern abrufen. blacklens.io erfasst über ",[20,394,396],{"href":395},"\u002Fde\u002Fplatform\u002Fattack-surface-management","Attack Surface Management"," laufend von außen, welche Dienste und Webanwendungen erreichbar sind und welche Technologien in welchen Versionen darauf laufen. Das ",[20,399,401],{"href":400},"\u002Fde\u002Fplatform\u002Femerging-threats","Threat Center"," gleicht neue CVEs in Echtzeit mit diesem Inventar ab und weist je Treffer aus, ob er auf der exakten Version beruht oder nur auf dem Produkt.",[11,404,405],{},"Die Grenze ist hier enger als bei Node2Shell. Der CVE-Eintrag nennt als betroffenes Produkt nur Brotli, eine Bibliothek, die ein Dienst nach außen nicht anzeigt; erkennbar sind ihre Träger, etwa Node.js-Anwendungen und Proxys. Ein Brotli-Paket in einer Python-Umgebung oder einem kompilierten Programm findet nur eine Prüfung auf dem System. Von außen lässt sich eingrenzen, wo sie zuerst nötig ist.",{"title":407,"searchDepth":408,"depth":408,"links":409},"",3,[410,412,413,414,415,416,417],{"id":28,"depth":411,"text":29},2,{"id":50,"depth":411,"text":51},{"id":196,"depth":411,"text":197},{"id":233,"depth":411,"text":234},{"id":291,"depth":411,"text":292},{"id":315,"depth":411,"text":316},{"id":388,"depth":411,"text":389},"threat","2026-10-24","HTTP2Shell ist keine neue Lücke, sondern CVE-2026-111497 in jeder Software mit Brotli-Decoder. Wer betroffen ist und warum die Versionsnummer täuscht.",false,"md",[424,426,429],{"q":29,"a":425},"HTTP2Shell ist ein Name für CVE-2026-111497, einen Out-of-Bounds-Write im Brotli-Decoder von Google in den Fassungen 1.0.3 bis 1.2.0. Das Sicherheitsunternehmen Aikido hat ihn am 23. Oktober 2026 eingeführt, weil die Lücke nicht nur Node.js betrifft, wo sie als Node2Shell bekannt wurde, sondern auch Python-Pakete, Bun, Envoy und curl. Es ist dieselbe Schwachstelle mit denselben Korrekturen: Brotli 1.0.10, 1.1.1 und 1.2.1.",{"q":427,"a":428},"Sind Python requests und httpx von HTTP2Shell betroffen?","Python requests und httpx sind nur betroffen, wenn in derselben Umgebung das Paket brotli vor 1.2.1 oder brotlicffi vor 1.2.1.0 installiert ist. Beide bringen keinen eigenen Brotli-Decoder mit, sondern nutzen diese Pakete, sobald sie vorhanden sind, bei httpx etwa über das Extra httpx[brotli]. Dann entpacken sie Brotli-Antworten der aufgerufenen Server automatisch. Ob die Pakete installiert sind, zeigt die Umgebung selbst, nicht die Abhängigkeitsliste des Projekts.",{"q":430,"a":431},"Wie hilft blacklens.io bei HTTP2Shell?","blacklens.io erfasst über Attack Surface Management laufend von außen, welche Dienste, Webanwendungen und Technologien erreichbar sind, und gleicht neue CVEs im Threat Center in Echtzeit mit diesem Inventar ab, jeweils mit der Angabe, ob ein Treffer auf der exakten Version oder nur auf dem Produkt beruht. Für HTTP2Shell zeigt das, wo Träger wie Node.js-Anwendungen und Proxys erreichbar sind. Die Brotli-Bibliothek selbst ist von außen nicht sichtbar und wird auf dem System geprüft.","\u002Fimages\u002Finsights\u002Fhttp2shell-brotli-lucke-jenseits-von-node-js.webp","Person am Laptop stützt den Kopf in die Hände, davor eine Weltkarte aus roten Punkten mit vielen Warnsymbolen","de",null,{},true,"\u002Fde\u002Finsights\u002Fhttp2shell-brotli-lucke-jenseits-von-node-js",5,{"title":5,"description":420},{"loc":438},"de\u002Finsights\u002Fhttp2shell-brotli-lucke-jenseits-von-node-js",[444],"Bedrohungslage","http2shell-brotli-lucke-jenseits-von-node-js","JvcZSOyYOGWGWWJfHeJapz_bX0CKuB_N3FqRlhdTE4k",[448,806,1072],{"id":449,"title":450,"author":6,"body":451,"category":418,"date":785,"description":786,"draft":421,"extension":422,"faq":787,"image":797,"imageAlt":798,"lang":434,"legacyUrl":435,"meta":799,"navigation":437,"path":22,"readingTime":439,"seo":800,"sitemap":801,"stem":802,"tags":803,"translation":804,"updated":419,"__hash__":805},"insightsDe\u002Fde\u002Finsights\u002Fnode2shell-warum-node-patchen-nicht-reicht.md","Node2Shell: Warum Node patchen allein nicht reicht",{"type":8,"value":452,"toc":777},[453,459,463,472,485,489,500,510,514,523,569,583,587,623,702,704,707,758,760,774],[11,454,455,456,458],{},"Node.js hat am 21. Oktober 2026 Sicherheitsupdates für zehn Schwachstellen veröffentlicht. Die schwerste davon, ",[15,457,17],{},", erlaubt Remote Code Execution über manipulierte Brotli-Daten. Der fehlerhafte Code steht allerdings nicht in Node.js, sondern in der Kompressionsbibliothek, die Node.js mitliefert – und das entscheidet darüber, ob eine aktualisierte Node-Fassung die Lücke überhaupt schließt.",[26,460,462],{"id":461},"was-node2shell-ist","Was Node2Shell ist",[11,464,465,466,468,469,471],{},"Node2Shell ist der Name, unter dem Imperva am 22. Oktober seine Analyse von ",[15,467,17],{}," veröffentlicht hat: einem Out-of-Bounds-Write im Brotli-Decoder, den Node.js in den Zweigen 22.x, 24.x und 26.x mitbringt. Node.js stuft die Lücke als „high“ ein und hat sie am 21. Oktober behoben. Der CVE-Eintrag bewertet sie strenger, mit ",[20,470,299],{"href":298}," 9.2 nach Version 4.0 und der Stufe kritisch. Gemeldet haben sie Khai Tran und Sylvie Mayer von OpenAI Codex Security, den Fix entwickelten zwei Mitglieder des Node.js-Teams.",[11,473,474,475,479,480,484],{},"Die Lücke erschien am selben Tag wie ",[20,476,478],{"href":477},"\u002Fde\u002Finsights\u002Fphp2shell-kritische-rce-lucken-in-php","PHP2Shell"," und mit derselben Bewertung, CVSS 9.2. Auffällig ist, wer gemeldet hat: Bei PHP waren Forscher von OpenAI unter den Meldern, hier ist es dessen Codex-Security-Team. Wie viel davon auf KI-Werkzeuge zurückgeht, sagen die Advisories nicht – dass die Sicherheitsteams der KI-Anbieter in den Danksagungen stehen, ist seit ",[20,481,483],{"href":482},"\u002Fde\u002Finsights\u002Fclaude-mythos-wenn-schwachstellen-schneller-kommen-als-patches","April"," Routine.",[26,486,488],{"id":487},"der-fehler-liegt-in-brotli-nicht-in-nodejs","Der Fehler liegt in Brotli, nicht in Node.js",[11,490,491,492,495,496,499],{},"Der verwundbare Code steht in der Referenzimplementierung von Brotli, Googles Kompressionsformat, in ",[15,493,494],{},"c\u002Fdec\u002Fdecode.c",". Beim Dekomprimieren prüft der Decoder, ob ein Datenstrom auf einen anderen Blocktyp umschaltet. Meldete diese Prüfung einen Fehler, gab die zuständige Funktion ihn auf dem schnellen Dekodierpfad nicht weiter – ihre Aufrufer hatten keinen Rückgabewert dafür. Der Decoder arbeitete mit ungültigem internem Zustand weiter und schrieb dabei über den vorgesehenen Puffer hinaus. Der CVE-Eintrag führt das als ",[15,497,498],{},"CWE-252",", nicht geprüfter Rückgabewert; der Fix lässt die Funktionen einen Formatfehler zurückgeben und bricht den Datenstrom ab.",[11,501,502,503,39,505,43,507,509],{},"Entscheidend für die Reichweite ist die Versionsangabe im CVE-Eintrag: Betroffen sind die Brotli-Fassungen 1.0.3 bis 1.2.0 „on all platforms“, zu aktualisieren sind „any Brotli libraries or binaries“. Korrigiert sind ",[15,504,38],{},[15,506,42],{},[15,508,46],{},", alle am 21. Oktober erschienen. Node.js ist der bekannteste Abnehmer dieser Bibliothek, nicht der einzige.",[26,511,513],{"id":512},"der-decoder-ist-erreichbar-ohne-dass-brotli-im-code-steht","Der Decoder ist erreichbar, ohne dass Brotli im Code steht",[11,515,516,517,519,520,522],{},"Eine Anwendung muss Brotli nirgends aufrufen, um den Decoder zu erreichen. Drei Wege führen laut Imperva hinein: der direkte Aufruf über ",[15,518,113],{},", Nodes eingebautes ",[15,521,203],{},", das eine Brotli-komprimierte Antwort selbstständig dekomprimiert, und die Request-Parser von Express 5.",[11,524,525,526,39,529,39,532,43,535,538,539,541,542,39,545,39,548,43,551,554,555,558,559,562,563,565,566,568],{},"Der dritte Weg vergrößert die Angriffsfläche am stärksten. Der Umstiegsleitfaden von Express 5 führt die Brotli-Dekomprimierung als Verbesserung ohne Migrationsschritt: ",[15,527,528],{},"express.json()",[15,530,531],{},"express.urlencoded()",[15,533,534],{},"express.text()",[15,536,537],{},"express.raw()"," nehmen ",[15,540,222],{}," an. body-parser dokumentiert, alle Parser unterstützten „automatic inflation“ von ",[15,543,544],{},"gzip",[15,546,547],{},"br",[15,549,550],{},"deflate",[15,552,553],{},"zstd","; die einzige dafür dokumentierte Option ist ",[15,556,557],{},"inflate"," mit dem Standardwert ",[15,560,561],{},"true",". Einen Schalter nur für Brotli nennt die Dokumentation nicht. Wer ",[15,564,528],{}," einsetzt und ",[15,567,557],{}," nicht abschaltet, nimmt also Brotli-Körper an, ohne das im eigenen Code zu sehen. Ein nackter HTTP-Server in Node dekomprimiert eingehende Brotli-Körper dagegen nicht allein dadurch, dass er sie empfängt.",[11,570,571,572,575,576,578,579,582],{},"Imperva hat diesen Weg bis zur Codeausführung durchgespielt: Im offiziellen Node-Image ",[15,573,574],{},"24.22.0"," für Linux\u002Farm64 legte eine Brotli-Nachricht eine Datei an, für die die Testanwendung keinen Code enthielt – ohne Debugger, aber nicht bei jedem Versuch. ",[15,577,240],{}," wies die Eingaben ab. Das ist bislang die einzige öffentliche Demonstration; Angriffe in der Praxis melden weder Node.js noch Imperva, und im ",[20,580,581],{"href":310},"CISA-KEV-Katalog"," steht die Lücke mit Stand 23. Oktober nicht.",[26,584,586],{"id":585},"warum-eine-gepatchte-node-version-nicht-genügt","Warum eine gepatchte Node-Version nicht genügt",[11,588,589,590,593,594,596,597,600,601,603,604,606,607,610,611,264,613,268,615,272,617,619,620,193],{},"Ob ",[15,591,592],{},"node -v"," eine korrigierte Fassung zeigt, entscheidet nur dort, wo Node seinen eigenen Brotli-Code benutzt. Debians Paket tut das nicht: Im Sicherheits-Tracker steht zu ",[15,595,17],{}," die Notiz, ",[15,598,599],{},"nodejs"," nutze die Brotli-Bibliothek des Systems. Entsprechend führt Debian beide Pakete – ",[15,602,85],{}," als „vulnerable“ und ",[15,605,599],{}," mit der Dringlichkeit „unimportant“. Auf diesen Systemen schließt erst das Brotli-Paket die Lücke. Bei Veröffentlichung dieses Beitrags am Morgen des 23. Oktober war es dort nicht verfügbar; ",[327,608,609],{},"Nachtrag vom 24. Oktober:"," Noch am selben Tag folgten ",[15,612,263],{},[15,614,267],{},[15,616,271],{},[15,618,275],{},"), für Sid steht der Fix aus. Wie weit dieselbe Lücke über Node.js hinausreicht, beschreibt der Folgebeitrag zu ",[20,621,622],{"href":438},"HTTP2Shell",[56,624,625,637],{},[59,626,627],{},[62,628,629,631,634],{},[65,630,67],{},[65,632,633],{},"Fassung mit Fix",[65,635,636],{},"Hinweis",[75,638,639,651,663,675,686],{},[62,640,641,644,648],{},[80,642,643],{},"Node.js 26.x",[80,645,646],{},[15,647,243],{},[80,649,650],{},"aktueller Zweig",[62,652,653,656,660],{},[80,654,655],{},"Node.js 24.x",[80,657,658],{},[15,659,240],{},[80,661,662],{},"aktuelles LTS",[62,664,665,668,672],{},[80,666,667],{},"Node.js 22.x",[80,669,670],{},[15,671,251],{},[80,673,674],{},"LTS",[62,676,677,680,683],{},[80,678,679],{},"Node.js 20.x und älter",[80,681,682],{},"kein Fix",[80,684,685],{},"End of Life, laut Advisory immer betroffen",[62,687,688,691,699],{},[80,689,690],{},"Brotli-Bibliothek",[80,692,693,39,695,39,697],{},[15,694,38],{},[15,696,42],{},[15,698,46],{},[80,700,701],{},"maßgeblich, wo Node die System-Bibliothek nutzt",[26,703,316],{"id":315},[11,705,706],{},"Die Schritte unterscheiden sich von einem gewöhnlichen Update darin, dass die Node-Version allein nicht über die Lücke entscheidet:",[321,708,709,715,725,731,746,752],{},[324,710,711,714],{},[327,712,713],{},"Laufzeitumgebungen aktualisieren"," und die Prozesse neu starten: Ein laufender Prozess behält den alten Decoder im Speicher.",[324,716,717,720,721,724],{},[327,718,719],{},"Die Brotli-Bibliothek mitprüfen",", wo Node aus einem Distributionspaket kommt: Dort ist ",[15,722,723],{},"libbrotli"," die verbindliche Angabe.",[324,726,727,730],{},[327,728,729],{},"Jedes Image einzeln prüfen",", nicht nur den Host. In Container-Images und Appliances mit eingebauter Laufzeitumgebung veralten Versionsangaben am schnellsten; eine Paketliste des Hosts zeigt sie nicht.",[324,732,733,736,737,740,741,43,743,745],{},[327,734,735],{},"Brotli-Verkehr aus unbekannter Quelle begrenzen",", solange das Update wartet. ",[15,738,739],{},"inflate: false"," weist auch ",[15,742,544],{},[15,744,550],{}," ab und bricht damit möglicherweise bestehende Clients; eine Begrenzung auf betroffenen Pfaden am Webserver oder in der Web Application Firewall trifft enger.",[324,747,748,751],{},[327,749,750],{},"Die übrigen neun Lücken nicht übersehen."," Das Release vom 21. Oktober behebt zehn CVEs, drei weitere davon mit der Stufe „high“: abgeschnittene DNS-Namen mit NUL-Zeichen und zwei Umgehungen der TLS-Hostnamen-Prüfung.",[324,753,754,757],{},[327,755,756],{},"Decoder-Fehler nicht als Beweis lesen."," Abgestürzte Prozesse und Fehler des Decoders sind laut Imperva allein kein verlässliches Zeichen für einen Angriff – aussagekräftig werden sie erst zusammen mit der eingesetzten Fassung und der Herkunft der Daten.",[26,759,389],{"id":388},[11,761,762,763,765,766,770,771,773],{},"Die Frage am Tag eines solchen Updates ist nicht, wie man Node.js aktualisiert, sondern wo überall eine Laufzeitumgebung läuft. blacklens.io erfasst über ",[20,764,396],{"href":395}," laufend von außen, welche Dienste und Webanwendungen erreichbar sind und welche Technologien in welchen Versionen darauf laufen; interne Systeme deckt der ",[20,767,769],{"href":768},"\u002Fde\u002Fplatform\u002Fsentry","Sentry Agent"," ab. Das ",[20,772,401],{"href":400}," gleicht neue CVEs in Echtzeit mit diesem Inventar ab und weist aus, ob ein Treffer auf der exakten Version beruht oder nur auf dem Produkt.",[11,775,776],{},"Eine Grenze gehört dazu: Welche Brotli-Bibliothek ein Node-Prozess geladen hat, verrät kein Dienst von außen. Diese Prüfung bleibt auf dem System – welche Systeme sie betrifft, lässt sich vorher beantworten.",{"title":407,"searchDepth":408,"depth":408,"links":778},[779,780,781,782,783,784],{"id":461,"depth":411,"text":462},{"id":487,"depth":411,"text":488},{"id":512,"depth":411,"text":513},{"id":585,"depth":411,"text":586},{"id":315,"depth":411,"text":316},{"id":388,"depth":411,"text":389},"2026-10-23","Node2Shell nutzt eine Lücke im Brotli-Decoder, den Node.js mitliefert. Der Fix steckt in Node 22.23.4, 24.22.1 und 26.12.1 – und in Brotli selbst.",[788,791,794],{"q":789,"a":790},"Was ist Node2Shell?","Node2Shell ist der Name, unter dem das Sicherheitsunternehmen Imperva seine Analyse von CVE-2026-111497 veröffentlicht hat: einem Out-of-Bounds-Write im Brotli-Decoder, den Node.js mitliefert. Wer manipulierte Brotli-Daten an eine Anwendung schicken kann, die sie dekomprimiert, kann damit Speicher überschreiben und im Ergebnis eigenen Code ausführen. Node.js hat die Lücke am 21. Oktober 2026 behoben, der CVE-Eintrag bewertet sie mit CVSS 9.2 nach Version 4.0.",{"q":792,"a":793},"Welche Versionen schließen CVE-2026-111497?","Node.js liefert den Fix in 22.23.4, 24.22.1 und 26.12.1; die Zweige 20.x und älter sind End of Life und bekommen ihn nicht. Der fehlerhafte Code stammt aber aus der Brotli-Bibliothek, korrigiert in 1.0.10, 1.1.1 und 1.2.1. Wo Node die Brotli-Bibliothek des Systems nutzt, wie im Debian-Paket, entscheidet deren Fassung über die Lücke – nicht die Ausgabe von node -v.",{"q":795,"a":796},"Ist meine Anwendung betroffen, wenn sie Brotli nicht verwendet?","Möglicherweise ja. Der Decoder wird auch erreicht, ohne dass Brotli im eigenen Quellcode vorkommt: Nodes eingebautes fetch() dekomprimiert Brotli-Antworten selbst, und die Request-Parser von Express 5 und body-parser 2 nehmen Brotli-Körper an, solange die Option inflate auf ihrem Standardwert true steht. Ein nackter HTTP-Server in Node dekomprimiert eingehende Brotli-Körper laut Imperva nicht allein dadurch, dass er sie empfängt.","\u002Fimages\u002Finsights\u002Fnode2shell-warum-node-patchen-nicht-reicht.webp","Farbig leuchtende Quellcodezeilen auf einem dunklen Bildschirm, schräg fotografiert",{},{"title":450,"description":786},{"loc":22},"de\u002Finsights\u002Fnode2shell-warum-node-patchen-nicht-reicht",[444],"node2shell-warum-node-patchen-nicht-reicht","hV0e5s2nwzEf8FN_GTA6FssGJES3Sfzk2ByEzKyRtyw",{"id":807,"title":808,"author":6,"body":809,"category":418,"date":1051,"description":1052,"draft":421,"extension":422,"faq":1053,"image":1063,"imageAlt":1064,"lang":434,"legacyUrl":435,"meta":1065,"navigation":437,"path":286,"readingTime":439,"seo":1066,"sitemap":1067,"stem":1068,"tags":1069,"translation":1070,"updated":435,"__hash__":1071},"insightsDe\u002Fde\u002Finsights\u002Ffortinet-hardening-release-patchen-ohne-advisory.md","Fortinet Hardening Release: Patchen ohne Advisory",{"type":8,"value":810,"toc":1042},[811,814,818,828,903,922,926,929,942,946,952,955,959,962,970,972,975,1001,1004,1008,1022,1024,1036],[11,812,813],{},"Fortinet liefert am 22. Oktober 2026 Sicherheitsupdates für FortiOS, FortiManager und FortiAnalyzer aus, einen Tag nach FortiMail und FortiAuthenticator. Als kritisch und hoch eingestuft – aber ohne CVE-Nummer, ohne CVSS-Wert und ohne Angriffsbeschreibung. Die Advisories folgen erst am 10. November. Wer diese Woche patcht, schließt Lücken, die er nicht benennen kann.",[26,815,817],{"id":816},"was-fortinet-am-22-oktober-ausliefert","Was Fortinet am 22. Oktober ausliefert",[11,819,820,821,827],{},"Das Security Hardening Release ist ein gebündelter Satz Sicherheitsupdates für fünf Produktlinien, angekündigt am 21. Oktober 2026 von Fortinet-CISO Carl Windsor in ",[20,822,826],{"href":823,"rel":824},"https:\u002F\u002Fwww.fortinet.com\u002Fblog\u002Fciso-collective\u002Ffortinet-releases-security-hardening-release-for-multiple-products",[825],"nofollow","Fortinets CISO-Blog",". FortiMail und FortiAuthenticator sind seit dem 21. Oktober verfügbar. Zum Inhalt steht dort ein Satz: „These releases include critical and high-severity fixes.“",[56,829,830,843],{},[59,831,832],{},[62,833,834,837,840],{},[65,835,836],{},"Branch",[65,838,839],{},"FortiOS",[65,841,842],{},"FortiManager und FortiAnalyzer",[75,844,845,859,873,888],{},[62,846,847,850,855],{},[80,848,849],{},"8.0",[80,851,852],{},[15,853,854],{},"8.0.2",[80,856,857],{},[15,858,854],{},[62,860,861,864,869],{},[80,862,863],{},"7.6",[80,865,866],{},[15,867,868],{},"7.6.8",[80,870,871],{},[15,872,868],{},[62,874,875,878,883],{},[80,876,877],{},"7.4",[80,879,880],{},[15,881,882],{},"7.4.13",[80,884,885],{},[15,886,887],{},"7.4.12",[62,889,890,893,898],{},[80,891,892],{},"7.2",[80,894,895],{},[15,896,897],{},"7.2.14",[80,899,900],{},[15,901,902],{},"7.2.13",[11,904,905,906,39,908,43,911,914,915,43,918,921],{},"Betroffen ist jeweils alles darunter. Für FortiMail gelten ",[15,907,854],{},[15,909,910],{},"7.6.7",[15,912,913],{},"7.4.9",", für FortiAuthenticator ",[15,916,917],{},"8.0.4",[15,919,920],{},"6.6.11","; FortiMail 7.2 bekommt keinen Fix, sondern den Wechsel auf die 7.4er-Reihe. FortiSASE aktualisiert Fortinet selbst, FortiManager Cloud kann einen manuellen Schritt erfordern.",[26,923,925],{"id":924},"warum-es-keine-cve-nummern-gibt","Warum es keine CVE-Nummern gibt",[11,927,928],{},"Die Advisories erscheinen laut Fortinet erst am nächsten Patch Tuesday, dem 10. November, auf der Advisory-Seite des Fortinet Product Security Incident Response Team – als Teil einer „ongoing commitment to responsible transparency while balancing customer security“. Knapp drei Wochen Vorsprung für Betreiber, so ist es gedacht.",[11,930,931,932,937,938,941],{},"Die Herkunft der Lücken erklärt die Bündelung. Sie stammen nicht von externen Meldern, sondern aus Fortinets eigenem KI-gestützten Testprogramm; Fortinet dankt Anthropic, OpenAI, Google und SpaceX für die Zusammenarbeit. Wie das abläuft, hat Windsor ",[20,933,936],{"href":934,"rel":935},"https:\u002F\u002Fwww.fortinet.com\u002Fblog\u002Fciso-collective\u002Fupdate-on-fortinet-use-of-frontier-ai",[825],"im Juni 2026 beschrieben",": Mehrere Frontier-Modelle gleichen den Quellcode mit einem zuvor erstellten Bedrohungsmodell der Firmware ab; was übrig bleibt, validiert ein Penetrationstest. Bei über 100 Tests in 30 Produktfamilien waren 40 Prozent der Befunde echte Treffer und 30 Prozent Fehlalarme. Was im April mit ",[20,939,940],{"href":482},"Claude Mythos"," als Ausblick begann, kommt jetzt als Firmware-Update.",[26,943,945],{"id":944},"ein-patch-ohne-cve-nummer-ist-für-scanner-und-richtlinien-unsichtbar","Ein Patch ohne CVE-Nummer ist für Scanner und Richtlinien unsichtbar",[11,947,948,949,951],{},"Schwachstellen-Scanner, Patch-Richtlinien und Ticketsysteme arbeiten mit CVE-Nummern. Fehlt die Nummer, fehlt alles, was daran hängt: kein NVD-Eintrag, kein EPSS-Wert, kein Eintrag im ",[20,950,581],{"href":310},", kein CVSS-Wert, ab dem eine Patch-Richtlinie greift. Ein Change-Antrag, der seine Begründung sonst aus CVE-Nummer und Schweregrad bezieht, stützt sich in diesen 19 Tagen allein auf die Ankündigung des Herstellers.",[11,953,954],{},"Damit verschiebt sich die Frage: nicht mehr, welche CVE uns betrifft, sondern welche Version auf welchem erreichbaren Gerät läuft – und ob sie älter ist als die gepatchte. Auch die Risikoabwägung verliert ihre Grundlage, denn über Angriffsvoraussetzungen und Ausnutzbarkeit lässt sich vor dem 10. November nichts sagen. Bleibt die Erreichbarkeit von außen: Ein FortiManager, der im Internet steht, ist das Problem – mit oder ohne CVE-Nummer.",[26,956,958],{"id":957},"patch-diffing-die-uhr-läuft-ab-dem-release","Patch Diffing: die Uhr läuft ab dem Release",[11,960,961],{},"Der Vorsprung, den die zurückgehaltenen Advisories schaffen sollen, gilt nur für den, der liest – nicht für den, der vergleicht. Fortinet benennt das Risiko selbst: Mit der Veröffentlichung zeigt der Patch, wo im Code sich etwas geändert hat. Besonders gut taugen die Modelle laut dem Juni-Beitrag für genau das – „analyzing firmware, assessing changes between versions, and developing proof-of-concept exploits“. Fortinet rechnet mit Exploits in Stunden bis Tagen statt Wochen; der FortiGuard-Bericht 2026 beziffert die Zeit bis zur Ausnutzung bei kritischen Ausbrüchen mit 24 bis 48 Stunden, nach 4,76 Tagen im Schnitt 2024.",[11,963,964,965,969],{},"Dass Fortinet-Geräte ein bevorzugtes Ziel sind, ist belegt: Im CISA-KEV-Katalog stehen mit Stand 21. Oktober 2026 32 Einträge zu Fortinet-Produkten, zwei aus diesem Monat; wie konsequent Angreifer exponierte Management-Oberflächen abarbeiten, zeigte ",[20,966,968],{"href":967},"\u002Fde\u002Finsights\u002Ffortibleed-wenn-zehntausende-firewalls-zur-offenen-tur-werden","FortiBleed",". Für die Lücken aus diesem Release ist bislang keine Ausnutzung bekannt; Fortinet nennt die Fixes ausdrücklich vorbeugend.",[26,971,316],{"id":315},[11,973,974],{},"Fortinet empfiehlt, das Release als vorrangige Änderung zu behandeln, nicht als Routinewartung, und nennt vier Schritte:",[321,976,977,983,989,995],{},[324,978,979,982],{},[327,980,981],{},"Inventar:"," jede FortiManager-Installation und jede FortiOS-Instanz erfassen, die aus dem Internet erreichbaren zuerst.",[324,984,985,988],{},[327,986,987],{},"Wartungsfenster:"," für exponierte Systeme auf den 22. und 23. Oktober legen.",[324,990,991,994],{},[327,992,993],{},"Konfiguration sichern:"," vor dem Upgrade, nicht danach.",[324,996,997,1000],{},[327,998,999],{},"Logs prüfen:"," auf ungewöhnliche administrative Zugriffe und nicht genehmigte Konfigurationsänderungen, vor und nach dem Patchen.",[11,1002,1003],{},"Wo sich nicht sofort aktualisieren lässt, empfiehlt Fortinet, die Management-Zugänge über HTTPS und SSH auf vertrauenswürdige Adressen zu begrenzen, FortiManager vom Internet zu trennen und MFA für alle Administratorkonten zu erzwingen. Fortinet dazu: „These steps reduce risk but do not replace the need for a timely upgrade.“",[26,1005,1007],{"id":1006},"nicht-zu-verwechseln-php2shell-läuft-parallel","Nicht zu verwechseln: PHP2Shell läuft parallel",[11,1009,1010,1011,1014,1015,1018,1019,1021],{},"Die beiden PHP-Lücken vom 21. Oktober gehören nicht zu diesem Release. Fortinet führt sie getrennt im Advisory ",[15,1012,1013],{},"FG-IR-26-186"," und stuft ",[15,1016,1017],{},"CVE-2026-109618"," dort als kritisch mit CVSS 9.8 ein. Laut einer Auswertung von Help Net Security vom 22. Oktober listet Fortinet zwölf Produkte als nicht betroffen, darunter FortiOS, FortiManager, FortiAnalyzer, FortiMail und FortiWeb, und zwölf weitere als in Prüfung. Palo Alto Networks meldet PAN-OS und Panorama in allen Versionen als betroffen, noch ohne Fix. Mechanismus und Sofortmaßnahmen stehen in unserem Beitrag zu ",[20,1020,478],{"href":477},". Für Fortinet-Betreiber sind das diese Woche zwei getrennte Aufgaben.",[26,1023,389],{"id":388},[11,1025,1026,1027,1029,1030,1032,1033,1035],{},"Solange die CVE-Nummern fehlen, ist das Versionsinventar die einzige belastbare Grundlage. blacklens.io erfasst über ",[20,1028,396],{"href":395}," laufend von außen, welche Dienste erreichbar sind und welche Technologien in welcher Version darauf laufen; das Technologie-Inventar ist nach Hersteller und Produkt filterbar, interne Installationen deckt der ",[20,1031,769],{"href":768}," ab. Das beantwortet die Frage, die diese Woche zählt: Wo läuft eine Version älter als ",[15,1034,868],{},", und ist sie aus dem Internet erreichbar?",[11,1037,1038,1039,1041],{},"Das ",[20,1040,401],{"href":400}," gleicht neue CVEs in Echtzeit mit diesem Inventar ab und weist aus, ob ein Treffer auf der exakten Version beruht oder nur auf dem Produkt – für dieses Release beginnt das am 10. November, vorher gibt es keine Nummern zum Abgleichen. Diese Woche ist das Release eine Inventarfrage. Die Schwachstellenfrage kommt im November.",{"title":407,"searchDepth":408,"depth":408,"links":1043},[1044,1045,1046,1047,1048,1049,1050],{"id":816,"depth":411,"text":817},{"id":924,"depth":411,"text":925},{"id":944,"depth":411,"text":945},{"id":957,"depth":411,"text":958},{"id":315,"depth":411,"text":316},{"id":1006,"depth":411,"text":1007},{"id":388,"depth":411,"text":389},"2026-10-22","Fortinet liefert am 22. Oktober 2026 kritische Fixes für FortiOS, FortiManager und FortiAnalyzer aus. Die Advisories mit CVE-Nummern folgen am 10. November.",[1054,1057,1060],{"q":1055,"a":1056},"Was ist Fortinets Security Hardening Release vom Oktober 2026?","Das Security Hardening Release ist ein gebündelter Satz Sicherheitsupdates, den Fortinet am 21. und 22. Oktober 2026 für FortiMail, FortiAuthenticator, FortiOS, FortiManager und FortiAnalyzer ausgeliefert hat. Fortinet stuft die behobenen Lücken als kritisch und hoch ein, nennt aber vorerst keine CVE-Nummern, keine CVSS-Werte und keine Angriffsvoraussetzungen. Die Advisories erscheinen laut Ankündigung am 10. November 2026. Gefunden wurden die Lücken im KI-gestützten Testprogramm von Fortinet.",{"q":1058,"a":1059},"Welche Fortinet-Versionen beheben die Schwachstellen?","Behoben sind die Lücken laut Fortinets Ankündigung in FortiOS 8.0.2, 7.6.8, 7.4.13 und 7.2.14 sowie in FortiManager und FortiAnalyzer 8.0.2, 7.6.8, 7.4.12 und 7.2.13. Für FortiMail gelten 8.0.2, 7.6.7 und 7.4.9, für FortiAuthenticator 8.0.4 und 6.6.11. FortiMail 7.2 erhält keinen Fix, sondern den Wechsel auf die 7.4er-Reihe. FortiSASE aktualisiert Fortinet selbst, FortiManager Cloud kann einen manuellen Schritt erfordern.",{"q":1061,"a":1062},"Warum ist ein Patch ohne CVE-Nummer für Schwachstellen-Scanner ein Problem?","Ein Patch ohne CVE-Nummer bleibt für alles unsichtbar, was Schwachstellen über CVE-Nummern steuert: Schwachstellen-Scanner, Patch-Richtlinien, Ticketsysteme. Ohne die Nummer gibt es keinen NVD-Eintrag, keinen EPSS-Wert, keinen CISA-KEV-Status und keinen CVSS-Wert, ab dem eine Patch-Richtlinie greift. Bis die Advisories erscheinen, bleibt nur der Versionsvergleich: Welche Fortinet-Version läuft auf welchem erreichbaren System? Diese Frage beantwortet ein laufend aktualisiertes Technologie-Inventar.","\u002Fimages\u002Finsights\u002Ffortinet-hardening-release-patchen-ohne-advisory.webp","Tablet mit geöffneter Fortinet-Website vor einem unscharfen Monitor mit Quellcode",{},{"title":808,"description":1052},{"loc":286},"de\u002Finsights\u002Ffortinet-hardening-release-patchen-ohne-advisory",[444],"fortinet-hardening-release-patchen-ohne-advisory","OoV7Gykawmn_xKeReTXorGcXs_Srwuvo3ki4PbubDqo",{"id":1073,"title":1074,"author":6,"body":1075,"category":418,"date":1051,"description":1278,"draft":421,"extension":422,"faq":1279,"image":1289,"imageAlt":1290,"lang":434,"legacyUrl":435,"meta":1291,"navigation":437,"path":1292,"readingTime":439,"seo":1293,"sitemap":1294,"stem":1295,"tags":1296,"translation":1297,"updated":435,"__hash__":1298},"insightsDe\u002Fde\u002Finsights\u002Fphp2shell-angriffe-vor-dem-patch.md","PHP2Shell: Die Angriffe begannen vier Tage vor dem Patch",{"type":8,"value":1076,"toc":1271},[1077,1080,1084,1093,1098,1102,1111,1173,1176,1180,1183,1189,1193,1196,1243,1252,1255,1257,1260],[11,1078,1079],{},"Vier Tage bevor PHP die beiden Lücken öffentlich machte, lief der erste Angriffsversuch. Amazon Threat Intelligence fand ihn in der Telemetrie seines Honeypot-Netzwerks MadPot, datiert auf den 17. Oktober 2026. Wer PHP2Shell abschließt, sobald die Versionsnummer stimmt, prüft damit vier Tage zu wenig.",[26,1081,1083],{"id":1082},"was-amazon-vor-der-offenlegung-gesehen-hat","Was Amazon vor der Offenlegung gesehen hat",[11,1085,1086,1087,1092],{},"Amazon Threat Intelligence hat am 21. Oktober 2026 veröffentlicht, dass der früheste Ausnutzungsversuch von PHP2Shell in seiner ",[20,1088,1091],{"href":1089,"rel":1090},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fsecurity\u002Famazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot\u002F",[825],"MadPot-Telemetrie"," auf den 17. Oktober 2026 datiert – vier Tage vor der Offenlegung, drei Tage vor dem Leak. Die Anfrage kam aus einem kommerziellen Anonymisierungsnetz und traf einen Honeypot, für Amazon ein Hinweis auf einen Angreifer und nicht auf Forschung. Wie der Akteur vorab an Exploit-Informationen kam, ist offen.",[11,1094,1095,1096,193],{},"Ab 02:00 UTC am 21. Oktober, zwölf Stunden vor dem Release um 14:00 UTC, sah MadPot mehrere Proof-of-Concept-Exploits von weiterer anonymisierter Infrastruktur. Payloads und Herkunft unterschieden sich, was auf mehrere unabhängige Akteure deutet; ob einer gegen echte Systeme funktioniert hätte, lässt Amazon offen. CJ Moses, CISO von Amazon Integrated Security, fasst den Stand nach dem Release in einem Satz zusammen: „PHP2Shell is now being broadly exploited in the wild.“ Mechanismus, Patch-Stände und Sofortmaßnahmen stehen im ",[20,1097,23],{"href":477},[26,1099,1101],{"id":1100},"wie-die-exploits-vor-den-patch-kamen","Wie die Exploits vor den Patch kamen",[11,1103,1104,1105,1110],{},"Der 17. Oktober bleibt unerklärt, die zwölf Stunden vor dem Release nicht. Die PHP Foundation hat diese Kette in ihrem ",[20,1106,1109],{"href":1107,"rel":1108},"https:\u002F\u002Fthephp.foundation\u002Fblog\u002F2026\u002F10\u002F21\u002Ftodays-php-security-release-and-how-were-strengthening-php-security\u002F",[825],"Postmortem vom 21. Oktober"," offengelegt:",[56,1112,1113,1123],{},[59,1114,1115],{},[62,1116,1117,1120],{},[65,1118,1119],{},"Zeitpunkt (UTC)",[65,1121,1122],{},"Ereignis",[75,1124,1125,1133,1141,1149,1157,1165],{},[62,1126,1127,1130],{},[80,1128,1129],{},"17. Okt.",[80,1131,1132],{},"Erster Angriffsversuch in Amazons Honeypot-Telemetrie, Quelle unbekannt",[62,1134,1135,1138],{},[80,1136,1137],{},"20. Okt., 15:00",[80,1139,1140],{},"CVE-Nummern kursieren in Foren, mit falscher Release-Zeit und falschem CVSS 10.0",[62,1142,1143,1146],{},[80,1144,1145],{},"20. Okt., 20:00",[80,1147,1148],{},"Calif veröffentlicht versehentlich ein Video des eigenen Exploits",[62,1150,1151,1154],{},[80,1152,1153],{},"20. Okt., 23:00",[80,1155,1156],{},"Mitigationshinweise an Betreiber kritischer Infrastruktur könnten abgeflossen sein",[62,1158,1159,1162],{},[80,1160,1161],{},"21. Okt., 07:41",[80,1163,1164],{},"Chainguard veröffentlicht Container-Images mit dem Fix, sechs Stunden zu früh",[62,1166,1167,1170],{},[80,1168,1169],{},"21. Okt., 14:00",[80,1171,1172],{},"Koordinierte Veröffentlichung von Advisories und Releases",[11,1174,1175],{},"An Chainguards Alleingang stört die Foundation nicht die frühe Verfügbarkeit des Fixes, sondern seine Vergleichbarkeit: „Any attacker could now study the fix in binary form while every other PHP user was still waiting for the release.“ Chainguards CEO Dan Lorenc bestreitet den Zeitpunkt nicht, wohl aber die Bewertung: „I made the call to get these out early when exploits hit in the wild.“ Das Sicherheitsteam der Foundation selbst hatte zum Release keinen funktionsfähigen öffentlichen Exploit identifiziert und nennt die Verzögerung seit dem ersten Hinweis von 2024 „a structural failure“.",[26,1177,1179],{"id":1178},"stand-22-oktober-millionen-versuche-keine-bestätigte-übernahme","Stand 22. Oktober: Millionen Versuche, keine bestätigte Übernahme",[11,1181,1182],{},"Bestätigt ist bis heute kein erfolgreicher Einbruch über PHP2Shell – bestätigt ist die Zahl der Versuche. Cloudflare-Chef Matthew Prince nennt für das eigene Netz Tausende Versuche in den zehn Stunden vor der Ankündigung, Zehntausende in den 45 Minuten danach, Hunderttausende binnen zwei Stunden und inzwischen Millionen. Cloudflare beobachtet außerdem, dass Angreifer ihre Payloads variieren und dabei auswerten, welche Anfragen die Web Application Firewall blockt.",[11,1184,1185,1186,1188],{},"Gegen die Masse steht die Qualität. Jake Knott von watchTowr sagt, keiner der kursierenden Proof-of-Concepts erreiche Code-Ausführung: Sie scheitern, messen Zeitunterschiede oder bringen den Zielprozess zum Absturz. VulnCheck sah mindestens eine Adresse, die erfolglos versuchte, eine Webshell abzulegen. Das BSI schreibt in Version 1.1 seiner Warnung vom 21. Oktober: „Zum aktuellen Zeitpunkt sind noch keine bestätigten Ausnutzungen der Schwachstellen bekannt.“ Im ",[20,1187,581],{"href":310}," stehen beide Nummern am 22. Oktober weiterhin nicht. JFrog fand in öffentlichen Repositories außerdem gefälschte Exploits und Scherz-Malware – wer solchen Code gegen eigene Systeme testet, prüft womöglich etwas anderes als die Lücke.",[26,1190,1192],{"id":1191},"was-das-für-ihre-untersuchung-bedeutet","Was das für Ihre Untersuchung bedeutet",[11,1194,1195],{},"Amazon empfiehlt, den Untersuchungszeitraum am 17. Oktober zu beginnen, nicht am Patch-Tag. Praktisch heißt das zuerst, Beweise zu sichern, bevor die Rotation sie löscht: Webserver-Logs sowie Prozess- und Dateizustände aller erreichbaren PHP-Systeme ab dem 16. Oktober.",[321,1197,1198,1212,1231,1237],{},[324,1199,1200,1203,1204,1207,1208,1211],{},[327,1201,1202],{},"Anfragen:"," POST-Anfragen, die in ",[15,1205,1206],{},"multipart\u002Fform-data","-Körpern die Zeichenfolge ",[15,1209,1210],{},"PHP_SESSION_UPLOAD_PROGRESS"," tragen; dazu Häufungen von HTTP 500 und abgestürzte PHP-Worker.",[324,1213,1214,1217,1218,39,1221,39,1224,110,1227,1230],{},[327,1215,1216],{},"Prozesse:"," jede Shell, jeder Interpreter und jedes Download-Werkzeug, das ",[15,1219,1220],{},"php-fpm",[15,1222,1223],{},"php-cgi",[15,1225,1226],{},"httpd",[15,1228,1229],{},"apache2"," gestartet hat, dazu neue Dateien im Webroot.",[324,1232,1233,1236],{},[327,1234,1235],{},"Erkennung ohne Signatur:"," Amazon empfiehlt Detektionen, die nicht an CVE-spezifischen Signaturen hängen – die erste Ausnutzung liegt regelmäßig vor der ersten Signatur.",[324,1238,1239,1242],{},[327,1240,1241],{},"Indikatoren:"," Amazon veröffentlicht sechs Adressen aus seiner Telemetrie. Sie gehören zu gemeinsam genutzter Anonymisierungsinfrastruktur und sind nicht exklusiv für diese Aktivität – als Suchanlass taugen sie, als Blockliste nicht.",[1244,1245,1250],"pre",{"className":1246,"code":1248,"language":1249},[1247],"language-text","103.216.220.92     17.10.2026\n31.223.184.166     21.10.2026\n37.19.200.5        21.10.2026\n134.209.159.64     21.10.2026\n103.114.163.188    21.10.2026\n95.217.98.37       21.10.2026\n","text",[15,1251,1248],{"__ignoreMap":407},[11,1253,1254],{},"Für die Frist, die solche Fälle setzen, ist Amazons nüchternster Satz der wichtigste: „A 7-day or 30-day SLA assumes a delay that no longer exists.“ Der Grund ist strukturell und nicht auf PHP beschränkt: KI-gestützte Analyse macht es billiger, aus einem Patch-Diff oder einem Advisory einen funktionierenden Exploit zu bauen.",[26,1256,389],{"id":388},[11,1258,1259],{},"Eine Frist in Stunden setzt voraus, dass das Inventar vorliegt, wenn das Advisory erscheint – zwischen dem 17. und dem 21. Oktober war genau das die einzige nutzbare Information.",[11,1261,1262,1263,1265,1266,770,1268,1270],{},"blacklens.io erfasst über ",[20,1264,396],{"href":395}," laufend, welche Dienste und Webanwendungen von außen erreichbar sind und welche Technologien darauf laufen; interne Systeme deckt der ",[20,1267,769],{"href":768},[20,1269,401],{"href":400}," gleicht neue CVEs mit diesem Inventar ab und zeigt je Treffer EPSS-Wert, KEV-Eintrag, verfügbare Exploits und ob die Zuordnung auf der exakten Version oder nur auf dem Produkt beruht. Die Spurensuche auf dem Host selbst deckt das nicht ab; dafür bleiben Logs und Überwachung auf dem System zuständig.",{"title":407,"searchDepth":408,"depth":408,"links":1272},[1273,1274,1275,1276,1277],{"id":1082,"depth":411,"text":1083},{"id":1100,"depth":411,"text":1101},{"id":1178,"depth":411,"text":1179},{"id":1191,"depth":411,"text":1192},{"id":388,"depth":411,"text":389},"Amazon fand den ersten PHP2Shell-Angriffsversuch am 17. Oktober 2026, vier Tage vor der Offenlegung. Das verschiebt den Zeitraum jeder Prüfung.",[1280,1283,1286],{"q":1281,"a":1282},"Wurde PHP2Shell schon vor der Offenlegung ausgenutzt?","Ja, nach Angaben von Amazon Threat Intelligence. Der früheste Ausnutzungsversuch in der Telemetrie des Honeypot-Netzwerks MadPot datiert auf den 17. Oktober 2026, vier Tage vor PHPs Advisory, und kam aus einem kommerziellen Anonymisierungsnetz. Wie der Akteur vorab an Exploit-Informationen kam, ist offen. Weitere Proof-of-Concept-Versuche folgten ab 02:00 UTC am 21. Oktober, zwölf Stunden vor dem Release.",{"q":1284,"a":1285},"Ab welchem Datum sollte ich nach einer Kompromittierung suchen?","Amazon empfiehlt, Untersuchungen zu PHP2Shell mindestens bis zum 17. Oktober 2026 zurückzuführen statt nur bis zum Patch-Tag. Praktisch heißt das, Webserver-Logs sowie Prozess- und Dateizustände der erreichbaren PHP-Systeme ab dem 16. Oktober zu sichern, bevor die Rotation sie löscht. Gesucht wird nach POST-Anfragen mit der Zeichenfolge PHP_SESSION_UPLOAD_PROGRESS, nach Prozessen, die ein PHP-Worker gestartet hat, und nach neuen Dateien im Webroot.",{"q":1287,"a":1288},"Wie schnell muss ein kritisches Update eingespielt sein?","Amazon empfiehlt für kritische Schwachstellen in internet-erreichbaren Systemen Patch- und Mitigationsfristen in Stunden: Eine Frist von 7 oder 30 Tagen unterstelle eine Verzögerung, die es nicht mehr gebe. Das setzt voraus, dass das Inventar am Tag des Advisories vorliegt. blacklens.io gleicht neue CVEs im Threat Center laufend mit den erfassten Technologien ab und zeigt je Treffer CVSS, EPSS, KEV-Eintrag und ob ein Exploit öffentlich ist.","\u002Fimages\u002Finsights\u002Fphp2shell-angriffe-vor-dem-patch.webp","Zeitachse mit dem ersten Angriffsversuch am 17. Oktober und dem PHP-Patch am 21. Oktober 2026",{},"\u002Fde\u002Finsights\u002Fphp2shell-angriffe-vor-dem-patch",{"title":1074,"description":1278},{"loc":1292},"de\u002Finsights\u002Fphp2shell-angriffe-vor-dem-patch",[444],"php2shell-angriffe-vor-dem-patch","sjAgmb1bKVf424gYdXj2DQbzJoOKk7-xPN4BrmFJ6jM",1792870636393]