{"id":99226,"date":"2026-10-23T10:18:38","date_gmt":"2026-10-23T08:18:38","guid":{"rendered":"https:\/\/locaterisk.com\/de\/?p=99226"},"modified":"2026-10-23T10:18:38","modified_gmt":"2026-10-23T08:18:38","slug":"node-js-rce-cve-2026-111497","status":"publish","type":"post","link":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/","title":{"rendered":"Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen"},"content":{"rendered":"\n<div class=\"wp-block-lr-blog-article-header-module\">\n    <div class=\"content\">\n\t\t<div class=\"headline\">\n\t\t\t<a class=\"to-blog-button\" href=\"https:\/\/locaterisk.com\/de\/blog\/\">\n\t\t\t\t<span class=\"to-blog-arrow\" aria-hidden=\"true\">\u2190<\/span>\n\t\t\t\t<span>Zur\u00fcck zum Blog<\/span>\n\t\t\t<\/a>\n\t\t\t<div class=\"article-meta\">\n\t\t\t\t\t\t\t\t\t<p class=\"post-updated\">Ver\u00f6ffentlicht: 23. Oktober 2026<\/p>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n        <div class=\"main-content\">\n\t\t\t<h1 class=\"title\">Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen<\/h1>\n\t\t\t\t\t\t\t<p class=\"paragraph\"><span class=\"lr-ai-disclosure\" style=\"display:block;margin:8px 0 28px;font-size:14px;line-height:1.4;color:#8b93a7;font-family:inherit;font-style:italic\">Dieser Text wurde mit k\u00fcnstlicher Intelligenz (KI) erstellt.<\/span><strong>Stand: 23. Oktober 2026, 10:30 Uhr MESZ \u2013 Updates sind verf\u00fcgbar, ein Proof of Concept ist \u00f6ffentlich.<\/strong> Eine aktive Ausnutzung war bis zum 22. Oktober 2026 nicht gemeldet. Wer Node.js-Anwendungen betreibt, sollte trotzdem jetzt aktualisieren.<br><br><strong>Node2Shell<\/strong> ist eine kritische Sicherheitsl\u00fccke in Node.js mit der Kennung <strong>CVE-2026-111497<\/strong>. Sie steckt im Brotli-Decoder, den Node.js zum Entpacken komprimierter Daten mitbringt. Pr\u00e4parierte Brotli-Daten k\u00f6nnen dort Speicher \u00fcberschreiben und im schlimmsten Fall Code ausf\u00fchren, ohne dass sich Angreifende anmelden m\u00fcssen. Geschlossen ist die L\u00fccke in <strong>Node.js 22.23.4, 24.22.1 und 26.12.1<\/strong>, ver\u00f6ffentlicht am 21. Oktober 2026.<br><br>Der Name Node2Shell stammt aus einer Analyse des Sicherheitsanbieters Imperva. Bei der Bewertung gibt es zwei Lesarten: Das Node.js-Projekt stuft die Schwachstelle als <strong>\u201eHigh\u201c (hoch)<\/strong> ein. Der CVE-Eintrag, den Google als Herausgeber der Brotli-Bibliothek vergeben hat, bewertet sie mit <strong>CVSS 9.2 nach CVSS v4.0 (\u201eCritical\u201c, kritisch)<\/strong>.<br><br><a href=\"#cve-check\" class=\"lr-cveqc-jump\" style=\"display:inline-block;font-weight:700;color:#26d9c3;text-decoration:none\">Sind meine Systeme betroffen? Jetzt pr\u00fcfen \u2192<\/a><\/p>\n\t\t\t        <\/div>\n    <\/div>\n<\/div>\n\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"400\" src=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png\" alt=\"Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen\" class=\"wp-image-9144\" srcset=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png 400w, https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise-300x300.png 300w, https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise-150x150.png 150w, https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise-12x12.png 12w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Auf einen Blick:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Produkt \/ Komponente<\/th><th>Betroffene Versionen<\/th><th>Gepatcht in<\/th><\/tr><\/thead><tbody><tr><td>Node.js 26.x<\/td><td>vor 26.12.1<\/td><td>26.12.1<\/td><\/tr><tr><td>Node.js 24.x (LTS)<\/td><td>vor 24.22.1<\/td><td>24.22.1<\/td><\/tr><tr><td>Node.js 22.x (LTS)<\/td><td>vor 22.23.4<\/td><td>22.23.4<\/td><\/tr><tr><td>Node.js 25.x, 23.x, 20.x und \u00e4lter<\/td><td>End-of-Life, betroffen<\/td><td>kein Update vom Node.js-Projekt (Distributionspakete siehe unten)<\/td><\/tr><tr><td>Google Brotli (Bibliothek)<\/td><td>1.0.3 bis 1.2.0<\/td><td>1.0.10, 1.1.1, 1.2.1<\/td><\/tr><tr><td>Bun<\/td><td>vor 1.4.4<\/td><td>1.4.4<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schwachstelle: <strong>CVE-2026-111497<\/strong> (Node.js: hoch; CVE-Eintrag: <strong>CVSS 9.2<\/strong>, kritisch)<\/li>\n\n\n\n<li>Proof of Concept: \u00f6ffentlich, Codeausf\u00fchrung bisher nur im Labor nachgewiesen; aktive Ausnutzung bis 22.10. nicht gemeldet<\/li>\n\n\n\n<li>Patch verf\u00fcgbar seit: 21.10.2026<\/li>\n\n\n\n<li>Offizieller Workaround: keiner<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Zeitleiste: Was bisher passiert ist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>21. Oktober 2026:<\/strong> Node.js ver\u00f6ffentlicht Sicherheitsupdates f\u00fcr alle unterst\u00fctzten Versionslinien mit insgesamt zehn Sicherheitskorrekturen. Am selben Tag erscheinen die Brotli-Versionen 1.2.1, 1.1.1 und 1.0.10, und Vercel schaltet Firewall-Regeln f\u00fcr eingehende Anfragen. Gemeldet hat die L\u00fccke laut Node.js-Advisory OpenAI Codex Security. Am selben Tag schlie\u00dft auch das PHP-Projekt die kritischen L\u00fccken rund um <a href=\"https:\/\/locaterisk.com\/de\/php-rce-cve-2026-109618\/\" target=\"_blank\" rel=\"noreferrer noopener\">PHP2Shell<\/a>; auch an deren Entdeckung war OpenAI Codex Security beteiligt.<\/li>\n\n\n\n<li><strong>22. Oktober 2026:<\/strong> Der CVE-Eintrag wird ver\u00f6ffentlicht (CVSS 9.2). Imperva zeigt Codeausf\u00fchrung gegen das offizielle Node.js-24.22.0-Image. Ein separater Proof of Concept wird \u00f6ffentlich, erreicht Codeausf\u00fchrung aber nur auf einem absichtlich geschw\u00e4chten Testbuild. Bun schlie\u00dft die L\u00fccke mit Version 1.4.4.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Welche Software ist von Node2Shell betroffen?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Schwachstelle sitzt in Node.js selbst, genauer in der Brotli-Bibliothek, die Node.js mitbringt. Ein Update einzelner npm-Pakete schlie\u00dft sie deshalb nicht. Es kommt auf die Node.js-Laufzeitumgebung an und, bei Node.js aus Distributionspaketen, auf deren Brotli-Paket.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gef\u00e4hrdet ist eine Anwendung, wenn sie Brotli-komprimierte Daten aus einer nicht vertrauensw\u00fcrdigen Quelle entpackt. Die wichtigsten Wege dorthin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Eingehende Anfragen mit Express 5 oder body-parser 2.x:<\/strong> Diese Versionen entpacken Request-Bodies mit <strong>Content-Encoding: br<\/strong> automatisch. Imperva hat die Codeausf\u00fchrung mit Express 5.0.0 und 5.3.0 sowie body-parser 2.0.0 bis 2.3.0 nachvollzogen; nicht jede Zwischenversion wurde einzeln getestet.<\/li>\n\n\n\n<li><strong>Ausgehende Abrufe mit <strong>fetch()<\/strong>:<\/strong> Die in Node.js eingebaute Funktion entpackt Brotli-Antworten automatisch. Ein Server, der von Angreifenden kontrolliert wird oder kompromittiert ist, kann die Anwendung so erreichen. Typische F\u00e4lle sind Webhooks, Link-Vorschauen und Funktionen, bei denen Nutzer eine URL angeben.<\/li>\n\n\n\n<li><strong>Direkte Nutzung von <strong>node:zlib<\/strong>:<\/strong> Anwendungen und Bibliotheken, die Brotli-Daten aus unsicherer Quelle mit <strong>brotliDecompress<\/strong> oder <strong>createBrotliDecompress<\/strong> entpacken.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ein einfacher HTTP-Server mit dem Node.js-Modul <strong>http<\/strong> entpackt eingehende Brotli-Bodies nicht von selbst. Betroffen ist er trotzdem, sobald die Anwendung einen der genannten Wege nutzt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Betroffen sein kann auch andere Software, die den Brotli-Decoder in den Versionen 1.0.3 bis 1.2.0 einbettet und damit Daten aus unsicherer Quelle entpackt. Die JavaScript-Laufzeit Bun war bis Version 1.4.3 betroffen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Node2Shell-Exploit: Was Angreifende erreichen k\u00f6nnen<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Code ausf\u00fchren:<\/strong> Laut CVE-Eintrag k\u00f6nnen Angreifende ohne Anmeldung \u00fcber einen pr\u00e4parierten Brotli-Datenstrom Speicher des Decoders besch\u00e4digen und m\u00f6glicherweise beliebigen Code ausf\u00fchren. Der Code l\u00e4uft dann im Kontext des Node.js-Prozesses.<\/li>\n\n\n\n<li><strong>Speicher auslesen:<\/strong> Auch die Offenlegung von Speicherinhalten des Prozesses ist laut CVE-Eintrag m\u00f6glich.<\/li>\n\n\n\n<li><strong>Dienst lahmlegen:<\/strong> Mindestens m\u00f6glich ist ein Absturz des Prozesses durch eine pr\u00e4parierte Eingabe.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Imperva hat Codeausf\u00fchrung gegen das offizielle Linux-arm64-Image von Node.js 24.22.0 nachgewiesen, ohne Debugger und ohne ver\u00e4ndertes Programm, sowohl \u00fcber <strong>fetch()<\/strong> als auch \u00fcber Request-Bodies in Express. Der Angriff gelang nicht bei jedem Versuch. Node.js 24.22.1 wies dieselben Eingaben ab. Ein separater, \u00f6ffentlicher Proof of Concept erreichte Codeausf\u00fchrung laut The Hacker News nur auf einem absichtlich geschw\u00e4chten Testbuild; auf einem normalen Build f\u00fchrte er zu einem Absturz und dem begrenzten Auslesen von Prozessspeicher.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine aktive Ausnutzung war bis zum 22. Oktober 2026 nicht gemeldet. Der CVSS-Vektor weist zudem Angriffsvoraussetzungen aus. Praktisch hei\u00dft das: Die Anwendung muss Brotli-Daten aus unsicherer Quelle entpacken.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Betroffene Node.js-Systeme im Inventar finden<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wer schnell patchen will, muss zuerst wissen, wo Node.js \u00fcberhaupt l\u00e4uft. Die Laufzeit steckt oft an Stellen, die in keinem Server-Inventar auftauchen: in Docker-Images, CI-Runnern, Serverless-Funktionen, internen Tools, Build-Servern und Appliances mit eingebetteter Laufzeit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Wie pr\u00fcfe ich die Node.js-Version?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Auf dem Server: <strong>node &#8211;version<\/strong> zeigt die installierte Version. L\u00e4uft eine Anwendung mit einem eigenen Binary (etwa \u00fcber nvm oder in einem Unterverzeichnis), muss diese Version gepr\u00fcft werden.<\/li>\n\n\n\n<li>In Docker: <strong>docker run &#8211;rm &lt;image&gt; node &#8211;version<\/strong>. Ein auf eine alte Version festgelegtes Image wie <strong>node:24.22.0<\/strong> bleibt verwundbar, auch wenn es neu gebaut wird. Der Tag muss auf eine gepatchte Version zeigen.<\/li>\n\n\n\n<li>Im Code: <strong>npm ls express body-parser<\/strong> zeigt, ob Express 5 oder body-parser 2.x im Einsatz sind. Eine Suche nach <strong>brotliDecompress<\/strong> und <strong>createBrotliDecompress<\/strong> im eigenen Code und in Abh\u00e4ngigkeiten zeigt direkte Brotli-Nutzung.<\/li>\n\n\n\n<li>Von au\u00dfen: Express-Anwendungen verraten sich oft \u00fcber den HTTP-Header <strong>X-Powered-By: Express<\/strong>. Fehlt der Header, hei\u00dft das nicht, dass kein Node.js l\u00e4uft.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Node.js aus Linux-Paketen<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die offiziellen Node.js-Binaries und die offiziellen Docker-Images bringen ihre eigene Brotli-Kopie mit; dort schlie\u00dft das Node.js-Update die L\u00fccke. Distributionen wie Debian bauen Node.js dagegen gegen die Brotli-Bibliothek des Systems. Dort kommt die Korrektur \u00fcber das Brotli-Paket der Distribution, auch f\u00fcr \u00e4ltere Node.js-Linien wie 18.x und 20.x, die Debian noch ausliefert. Der Debian Security Tracker f\u00fchrt <strong>brotli<\/strong> (bookworm, trixie, forky, sid) und die abh\u00e4ngigen <strong>nodejs<\/strong>-Pakete am 23. Oktober 2026 noch als verwundbar, ein Fix ist dort noch nicht eingetragen. F\u00fcr andere Distributionen gilt deren jeweiliges Advisory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Node.js-Sicherheitsl\u00fccke schlie\u00dfen: Was jetzt zu tun ist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Auf <strong>Node.js 22.23.4, 24.22.1 oder 26.12.1<\/strong> oder neuer aktualisieren, auch auf CI-Runnern und Build-Servern.<\/li>\n\n\n\n<li>Docker-Images auf einen gepatchten Tag umstellen und neu bauen; Anwendungen mit eingebettetem Node.js-Binary neu ausliefern.<\/li>\n\n\n\n<li>Bei Node.js aus Distributionspaketen das Brotli-Paket der Distribution aktualisieren, sobald es verf\u00fcgbar ist.<\/li>\n\n\n\n<li>Bun auf Version 1.4.4 oder neuer aktualisieren.<\/li>\n\n\n\n<li>Node.js 25.x, 23.x, 20.x und \u00e4lter aus den offiziellen Quellen: Diese Linien haben ihr End-of-Life erreicht und erhalten vom Node.js-Projekt kein Update mehr. Betroffene Anwendungen auf eine unterst\u00fctzte Version migrieren.<\/li>\n\n\n\n<li>Nach dem Update alle Node.js-Prozesse neu starten, etwa \u00fcber den Prozessmanager oder durch Neustart der Container.<\/li>\n\n\n\n<li>Bei gehosteten Plattformen und Dienstleistern nachfragen, ob die Laufzeitumgebung bereits aktualisiert ist.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u00dcbergangsma\u00dfnahmen, wenn das Update noch nicht m\u00f6glich ist<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Node.js-Advisory nennt keinen Workaround. Einzelne Angriffswege lassen sich aber bis zum Update einschr\u00e4nken:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Anfragen mit <strong>Content-Encoding: br<\/strong> am Reverse Proxy, Load Balancer oder in der Middleware ablehnen, wenn die Anwendung keine Brotli-komprimierten Request-Bodies braucht. Das sch\u00fctzt nur eingehende Anfragen.<\/li>\n\n\n\n<li>Funktionen, die per <strong>fetch()<\/strong> Daten von fremden oder vom Nutzer angegebenen Servern abrufen, vor\u00fcbergehend abschalten oder Antworten mit <strong>Content-Encoding: br<\/strong> von solchen Servern verwerfen.<\/li>\n\n\n\n<li>Web Application Firewalls: Einzelne Anbieter haben Regeln ver\u00f6ffentlicht, etwa Vercel f\u00fcr eingehende Anfragen auf seiner Plattform. Brotli-Antworten, die eine Anwendung selbst von anderen Servern abruft, decken solche Regeln nicht ab.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Keine dieser Ma\u00dfnahmen ersetzt das Update der Laufzeitumgebung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Woran erkenne ich einen Angriff?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Verl\u00e4ssliche Angriffsindikatoren gibt es bislang nicht. Die Forschenden nennen als Hinweise f\u00fcr eine Priorisierung:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>unerwartete Abst\u00fcrze von Node.js-Prozessen beim Entpacken von Daten,<\/li>\n\n\n\n<li>Fehlermeldungen des Brotli-Decoders in den Protokollen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Beides ist nach ihrer Einsch\u00e4tzung kein sicherer Beleg f\u00fcr eine Ausnutzung. Wer Anzeichen einer Kompromittierung findet, sollte davon ausgehen, dass Zugangsdaten, Tokens und Schl\u00fcssel aus dem betroffenen Prozess betroffen sein k\u00f6nnen, und sie austauschen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Weitere Schwachstellen im selben Node.js-Update<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Sicherheitsrelease vom 21. Oktober schlie\u00dft neben Node2Shell neun weitere L\u00fccken, drei davon ebenfalls mit \u201eHigh\u201c bewertet:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CVE-2026-105482:<\/strong> <strong>dns.resolve<\/strong> k\u00fcrzt Hostnamen, die ein NUL-Zeichen enthalten.<\/li>\n\n\n\n<li><strong>CVE-2026-105483:<\/strong> Umgehung der TLS-Hostnamenpr\u00fcfung bei IP-Adressen in vollbreiten Ziffern.<\/li>\n\n\n\n<li><strong>CVE-2026-106069:<\/strong> Umgehung der TLS-Hostnamenpr\u00fcfung, wenn der Hostname gro\u00dfz\u00fcgig zu einer IP-Adresse aufgel\u00f6st wird.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dazu kommen drei L\u00fccken mit \u201eMedium\u201c, darunter wiederholte Zufallswerte von <strong>crypto.randomUUID()<\/strong> in Startup-Snapshots und Single Executable Applications, und drei mit \u201eLow\u201c, darunter zwei Umgehungen des Permission Models. Au\u00dferdem aktualisiert das Release unter anderem OpenSSL, c-ares und undici.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>DACH- und EU-Kontext<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das zeitnahe Einspielen von Sicherheitsupdates geh\u00f6rt f\u00fcr Einrichtungen im Anwendungsbereich von NIS-2 zu den Risikomanagementma\u00dfnahmen nach Art. 21 NIS-2-Richtlinie. Kommt es durch eine Ausnutzung von Node2Shell zu einem erheblichen Sicherheitsvorfall, greifen die Meldepflichten nach Art. 23 NIS-2-Richtlinie, in Deutschland nach \u00a7 32 BSIG. In \u00d6sterreich und der Schweiz gelten die jeweiligen nationalen Meldepflichten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wie LocateRisk bei exponierten Assets ansetzt<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">LocateRisk macht extern erreichbare Systeme und die von au\u00dfen erkennbare Software sichtbar. Bei Node2Shell hilft das, \u00f6ffentlich erreichbare Webanwendungen und von au\u00dfen erkennbare Node.js-Installationen zu finden, auch solche, die in keiner internen Liste stehen, und die Update-Reihenfolge zu priorisieren. Einen schnellen \u00dcberblick liefert die automatisierte <a href=\"https:\/\/locaterisk.com\/de\/landing\/it-risikoanalyse\/\" target=\"_blank\" rel=\"noreferrer noopener\">IT-Risikoanalyse<\/a>. Mit Preemptive Intelligence meldet LocateRisk kritische Softwareversionen, sobald eine Schwachstelle bekannt wird, noch bevor die NVD sie offiziell einordnet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">LocateRisk ersetzt kein Patch-Management und trifft keine Aussage dar\u00fcber, ob auf einem erkannten System eine verwundbare Node.js-Version l\u00e4uft oder die Anwendung Brotli-Daten entpackt. Interne Dienste und Anwendungen, die per <strong>fetch()<\/strong> Daten von fremden Servern abrufen, deckt der Blick von au\u00dfen nicht ab. Daf\u00fcr sind das interne Inventar und der Abgleich mit dem Node.js-Advisory bzw. dem Paketstand der Distribution n\u00f6tig.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr ausgelagerte Webanwendungen oder Kundenportale kann Vendor Risk Management erg\u00e4nzend helfen, R\u00fcckmeldungen der Dienstleister zum Patch-Stand nachvollziehbar zu dokumentieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bin ich betroffen?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Betroffen sind alle Node.js-Versionen vor den in der Tabelle oben genannten Releases sowie die End-of-Life-Linien 25.x, 23.x, 20.x und \u00e4lter. Wer wissen will, ob Node.js in der eigenen extern erreichbaren Infrastruktur \u00fcberhaupt sichtbar ist, kann den <a href=\"#cve-check\" target=\"_blank\" rel=\"noreferrer noopener\">CVE-Quick-Check<\/a> am Ende dieses Artikels nutzen: Er zeigt exponierte Systeme und die von au\u00dfen erkennbare Software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die konkret installierte Version l\u00e4sst sich von au\u00dfen nicht in jedem Fall bestimmen \u2014 ausschlaggebend ist der Abgleich mit dem Hersteller-Advisory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quellen und weitere Infos<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Node.js:<\/strong> <a href=\"https:\/\/nodejs.org\/en\/blog\/vulnerability\/october-2026-security-releases\" target=\"_blank\" rel=\"noreferrer noopener\">Wednesday, October 21, 2026 Security Releases<\/a><\/li>\n\n\n\n<li><strong>CVE.org:<\/strong> <a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-111497\" target=\"_blank\" rel=\"noreferrer noopener\">CVE-2026-111497: Out-of-Bounds Write in Google Brotli Decoder<\/a><\/li>\n\n\n\n<li><strong>Google Brotli \/ GitHub:<\/strong> <a href=\"https:\/\/github.com\/google\/brotli\/releases\/tag\/v1.2.1\" target=\"_blank\" rel=\"noreferrer noopener\">Release v1.2.1<\/a><\/li>\n\n\n\n<li><strong>GitHub Advisory Database:<\/strong> <a href=\"https:\/\/github.com\/advisories\/GHSA-9v8h-qqgm-4m35\" target=\"_blank\" rel=\"noreferrer noopener\">GHSA-9v8h-qqgm-4m35<\/a><\/li>\n\n\n\n<li><strong>Imperva:<\/strong> <a href=\"https:\/\/www.imperva.com\/blog\/node2shell-from-brotli-data-to-remote-code-execution\/\" target=\"_blank\" rel=\"noreferrer noopener\">Node2Shell: From Brotli Data to Remote Code Execution<\/a><\/li>\n\n\n\n<li><strong>The Hacker News:<\/strong> <a href=\"https:\/\/thehackernews.com\/2026\/10\/nodejs-brotli-decoder-bug-could-allow.html\" target=\"_blank\" rel=\"noreferrer noopener\">Node.js Brotli Decoder Bug Could Allow Remote Code Execution in All Supported Versions<\/a><\/li>\n\n\n\n<li><strong>Vercel:<\/strong> <a href=\"https:\/\/vercel.com\/kb\/bulletin\/node-js-security-advisory\" target=\"_blank\" rel=\"noreferrer noopener\">Node.js security advisory: Brotli decoder RCE (CVE-2026-111497)<\/a><\/li>\n\n\n\n<li><strong>Bun \/ GitHub:<\/strong> <a href=\"https:\/\/github.com\/oven-sh\/bun\/issues\/46352\" target=\"_blank\" rel=\"noreferrer noopener\">Brotli decoder is missing the CVE-2026-111497 fix (Issue #46352)<\/a><\/li>\n\n\n\n<li><strong>Debian:<\/strong> <a href=\"https:\/\/security-tracker.debian.org\/tracker\/CVE-2026-111497\" target=\"_blank\" rel=\"noreferrer noopener\">Security Tracker CVE-2026-111497<\/a><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-lr-faq-module\"><div class=\"content\"><h3><strong>H\u00e4ufige Fragen<\/strong><\/h3><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Was ist Node2Shell?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">Node2Shell ist der Name, unter dem die Node.js-Sicherheitsl\u00fccke CVE-2026-111497 diskutiert wird. Es handelt sich um einen Speicherfehler im Brotli-Decoder, bei dem \u00fcber die Grenzen eines Puffers hinaus geschrieben wird (Out-of-Bounds-Write). Pr\u00e4parierte Brotli-komprimierte Daten k\u00f6nnen so Speicher besch\u00e4digen und im schlimmsten Fall Code ausf\u00fchren.<\/p><\/div><\/div><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Gibt es einen Node.js-Exploit f\u00fcr Node2Shell?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">Ja, im Labor. Imperva hat Codeausf\u00fchrung gegen das offizielle Node.js-24.22.0-Image auf Linux arm64 nachgewiesen. Ein separater Proof of Concept ist \u00f6ffentlich, erreicht Codeausf\u00fchrung aber nur auf einem absichtlich geschw\u00e4chten Testbuild. Eine aktive Ausnutzung war bis zum 22. Oktober 2026 nicht gemeldet.<\/p><\/div><\/div><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Wie gef\u00e4hrlich ist die Node.js-Schwachstelle CVE-2026-111497?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">Das Node.js-Projekt stuft sie als hoch ein, der CVE-Eintrag von Google bewertet sie mit CVSS 9.2 als kritisch. F\u00fcr die Priorisierung z\u00e4hlt vor allem, ob eine Anwendung Brotli-Daten aus unsicherer Quelle entpackt, etwa \u00fcber Express 5 oder <strong>fetch()<\/strong>.<\/p><\/div><\/div><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Welche Node.js-Version behebt Node2Shell?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">Node.js 22.23.4, 24.22.1 und 26.12.1, ver\u00f6ffentlicht am 21. Oktober 2026, sowie die Brotli-Bibliothek in den Versionen 1.0.10, 1.1.1 und 1.2.1. Bun ist ab Version 1.4.4 gesch\u00fctzt.<\/p><\/div><\/div><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Bin ich betroffen, wenn ich kein Express nutze?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">M\u00f6glicherweise. Neben Express 5 und body-parser 2.x f\u00fchrt auch das eingebaute <strong>fetch()<\/strong> zur L\u00fccke, weil es Brotli-Antworten automatisch entpackt. Auch Bibliotheken, die <strong>node:zlib<\/strong> nutzen, k\u00f6nnen Brotli-Daten verarbeiten. Das Update der Laufzeitumgebung ist deshalb in jedem Fall der richtige Schritt.<\/p><\/div><\/div><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Was kann ich tun, wenn ich nicht sofort aktualisieren kann?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">Anfragen mit <strong>Content-Encoding: br<\/strong> am Proxy oder in der Middleware ablehnen und Funktionen, die Daten von fremden Servern abrufen, vor\u00fcbergehend einschr\u00e4nken. Einen offiziellen Workaround gibt es nicht, und gegen Brotli-Antworten auf eigene Abrufe helfen Proxy- und WAF-Regeln nicht.<\/p><\/div><\/div><div class=\"faq-topic\"><hr\/><div class=\"collapsible-title\"><a class=\"pr-4\"><strong>Wo finde ich Hilfe und weitere Informationen?<\/strong><\/a><img class=\"collapse-toggle\" srcset=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@3x.png 3x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus@2x.png 2x,https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/faq-module\/img\/ic-plus.png 1x\"\/><\/div><div class=\"collapsible-content\"><p class=\"font-normal\">Erste Anlaufstellen sind das Sicherheits-Advisory des Node.js-Projekts, der CVE-Eintrag und die technische Analyse von Imperva. Wer Node.js nicht selbst betreibt, etwa bei Hosting-Plattformen oder Dienstleistern, sollte sich direkt an den Anbieter wenden und nach dem Patch-Stand fragen.<\/p><\/div><\/div><\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"@id\":\"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#faq\",\"url\":\"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/\"},\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Was ist Node2Shell?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Node2Shell ist der Name, unter dem die Node.js-Sicherheitsl\u00fccke CVE-2026-111497 diskutiert wird. Es handelt sich um einen Speicherfehler im Brotli-Decoder, bei dem \u00fcber die Grenzen eines Puffers hinaus geschrieben wird (Out-of-Bounds-Write). Pr\u00e4parierte Brotli-komprimierte Daten k\u00f6nnen so Speicher besch\u00e4digen und im schlimmsten Fall Code ausf\u00fchren.\"}},{\"@type\":\"Question\",\"name\":\"Gibt es einen Node.js-Exploit f\u00fcr Node2Shell?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja, im Labor. Imperva hat Codeausf\u00fchrung gegen das offizielle Node.js-24.22.0-Image auf Linux arm64 nachgewiesen. Ein separater Proof of Concept ist \u00f6ffentlich, erreicht Codeausf\u00fchrung aber nur auf einem absichtlich geschw\u00e4chten Testbuild. Eine aktive Ausnutzung war bis zum 22. Oktober 2026 nicht gemeldet.\"}},{\"@type\":\"Question\",\"name\":\"Wie gef\u00e4hrlich ist die Node.js-Schwachstelle CVE-2026-111497?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Das Node.js-Projekt stuft sie als hoch ein, der CVE-Eintrag von Google bewertet sie mit CVSS 9.2 als kritisch. F\u00fcr die Priorisierung z\u00e4hlt vor allem, ob eine Anwendung Brotli-Daten aus unsicherer Quelle entpackt, etwa \u00fcber Express 5 oder fetch().\"}},{\"@type\":\"Question\",\"name\":\"Welche Node.js-Version behebt Node2Shell?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Node.js 22.23.4, 24.22.1 und 26.12.1, ver\u00f6ffentlicht am 21. Oktober 2026, sowie die Brotli-Bibliothek in den Versionen 1.0.10, 1.1.1 und 1.2.1. Bun ist ab Version 1.4.4 gesch\u00fctzt.\"}},{\"@type\":\"Question\",\"name\":\"Bin ich betroffen, wenn ich kein Express nutze?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"M\u00f6glicherweise. Neben Express 5 und body-parser 2.x f\u00fchrt auch das eingebaute fetch() zur L\u00fccke, weil es Brotli-Antworten automatisch entpackt. Auch Bibliotheken, die node:zlib nutzen, k\u00f6nnen Brotli-Daten verarbeiten. Das Update der Laufzeitumgebung ist deshalb in jedem Fall der richtige Schritt.\"}},{\"@type\":\"Question\",\"name\":\"Was kann ich tun, wenn ich nicht sofort aktualisieren kann?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Anfragen mit Content-Encoding: br am Proxy oder in der Middleware ablehnen und Funktionen, die Daten von fremden Servern abrufen, vor\u00fcbergehend einschr\u00e4nken. Einen offiziellen Workaround gibt es nicht, und gegen Brotli-Antworten auf eigene Abrufe helfen Proxy- und WAF-Regeln nicht.\"}},{\"@type\":\"Question\",\"name\":\"Wo finde ich Hilfe und weitere Informationen?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Erste Anlaufstellen sind das Sicherheits-Advisory des Node.js-Projekts, der CVE-Eintrag und die technische Analyse von Imperva. Wer Node.js nicht selbst betreibt, etwa bei Hosting-Plattformen oder Dienstleistern, sollte sich direkt an den Anbieter wenden und nach dem Patch-Stand fragen.\"}}]}<\/script>\n\n\n<p class=\"lr-legal-note\" style=\"margin:32px 0 0;padding-top:16px;border-top:1px solid #e5e7eb;font-size:13px;line-height:1.55;color:#8b93a7;font-style:italic;\">Stand: 23.10.2026. Dieser Beitrag dient allgemeinen Informationszwecken und ist keine Rechts-, Sicherheits- oder Handlungsberatung im Einzelfall. Sicherheitslage und Patch-Verf\u00fcgbarkeit k\u00f6nnen sich seit der Ver\u00f6ffentlichung ge\u00e4ndert haben; ma\u00dfgeblich ist stets das verlinkte Hersteller-Advisory. Trotz sorgf\u00e4ltiger Recherche \u00fcbernehmen wir keine Gew\u00e4hr f\u00fcr Aktualit\u00e4t, Richtigkeit und Vollst\u00e4ndigkeit.<\/p>\n\n\n<div id=\"cve-check\" style=\"scroll-margin-top:100px\"><\/div>\n\n\n\n\t<div class=\"wp-block-lr-cve-quick-check lr-cveqc\">\n\t\t<div class=\"lr-cveqc-inner\">\n\n\t\t\t<div class=\"lr-cveqc-story\">\n\t\t\t\t<h2 class=\"lr-cveqc-headline\">CVE Quick Check<\/h2>\n\t\t\t\t<p class=\"lr-cveqc-text\">Pr\u00fcfen Sie in wenigen Minuten, ob zu einer aktuellen CVE Hinweise auf Ihrer extern sichtbaren Angriffsfl\u00e4che erkennbar sind.<\/p>\n\n\t\t\t\t<ul class=\"lr-cveqc-bullets\">\n\t\t\t\t\t<li><svg viewBox=\"0 0 26 26\" fill=\"none\" aria-hidden=\"true\"><circle cx=\"13\" cy=\"13\" r=\"12\" stroke=\"#00051d\" stroke-width=\"1.6\"\/><path d=\"M7.5 13.4l3.7 3.6L18.5 9\" stroke=\"#00051d\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span>Erste Einsch\u00e4tzung in wenigen Minuten per E-Mail.<\/span><\/li>\t\t\t\t\t<li><svg viewBox=\"0 0 26 26\" fill=\"none\" aria-hidden=\"true\"><circle cx=\"13\" cy=\"13\" r=\"12\" stroke=\"#00051d\" stroke-width=\"1.6\"\/><path d=\"M7.5 13.4l3.7 3.6L18.5 9\" stroke=\"#00051d\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span>Details im kostenlosen Gespr\u00e4ch mit einem LocateRisk Consultant.<\/span><\/li>\t\t\t\t<\/ul>\n\n\t\t\t\t\t\t\t\t<div class=\"lr-cveqc-teaser\" aria-hidden=\"true\">\n\t\t\t\t\t<h4>Das erhalten Sie per E-Mail<\/h4>\n\t\t\t\t\t<div class=\"lr-cveqc-trow\"><span class=\"k\">Unternehmen<\/span><span class=\"v\">Ihre Firma GmbH<\/span><\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"lr-cveqc-trow\"><span class=\"k\">Gepr\u00fcfte CVE<\/span><span class=\"v\">CVE-2026-111497<\/span><\/div>\n\t\t\t\t\t<div class=\"lr-cveqc-trow\"><span class=\"k\">Passive Bewertung<\/span><span class=\"lr-cveqc-lamp\"><i class=\"r\"><\/i><i class=\"y\"><\/i><i class=\"g\"><\/i><\/span><\/div>\t\t\t\t\t<div class=\"lr-cveqc-trow\"><span class=\"k\">Hinweise zur CVE<\/span><span class=\"lr-cveqc-pill\">gefunden oder nicht gefunden<\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t<div class=\"lr-cveqc-form-col\">\n\t\t\t\t<form id=\"lr-cveqc-1\" class=\"lr-cveqc-form\" method=\"post\" novalidate\n\t\t\t\t\tdata-ajax-url=\"https:\/\/locaterisk.com\/wp-admin\/admin-ajax.php\">\n\n\t\t\t\t\t<input type=\"text\" name=\"cveId\" required maxlength=\"40\"\n\t\t\t\t\t\tpattern=\"^[Cc][Vv][Ee]-\\d{4}-\\d{4,7}$\"\n\t\t\t\t\t\tvalue=\"CVE-2026-111497\"\n\t\t\t\t\t\tplaceholder=\"CVE-ID, z. B. CVE-2024-3094\" \/>\n\n\t\t\t\t\t<input type=\"email\" name=\"email\" required maxlength=\"320\"\n\t\t\t\t\t\tplaceholder=\"Gesch\u00e4ftliche E-Mail-Adresse\" \/>\n\t\t\t\t\t<p class=\"lr-cveqc-hint\">Bitte verwenden Sie Ihre gesch\u00e4ftliche E-Mail-Adresse. Die Pr\u00fcfung bezieht sich auf das Unternehmen hinter Ihrer E-Mail-Domain; Free-Mail-Adressen (z. B. Gmail) k\u00f6nnen keinem Unternehmen zugeordnet werden.<\/p>\n\n\t\t\t\t\t<!-- Optionale Telefonnummer: nur wer sie angibt, willigt laut Consent-Text\n\t\t\t\t\t     auch in eine telefonische Rueckmeldung ein. autocomplete=\"tel\" ist\n\t\t\t\t\t     gewollt (echtes Feld, kein Honeypot). -->\n\t\t\t\t\t<input type=\"tel\" name=\"phone\" maxlength=\"64\" autocomplete=\"tel\"\n\t\t\t\t\t\tplaceholder=\"Telefon (optional)\" \/>\n\t\t\t\t\t<p class=\"lr-cveqc-hint\">Nur n\u00f6tig, wenn Sie eine kurze telefonische Einordnung m\u00f6chten.<\/p>\n\n\t\t\t\t\t<!-- Honeypot: f\u00fcr Menschen unsichtbar, Bots f\u00fcllen es aus.\n\t\t\t\t\t     Neutraler Feldname (NICHT \"website\"\/\"url\"\/\"email\"), sonst f\u00fcllen\n\t\t\t\t\t     Passwort-Manager und Browser-Autofill das Feld beim echten Nutzer\n\t\t\t\t\t     und blocken ihn faelschlich. -->\n\t\t\t\t\t<div class=\"lr-cveqc-hp\" aria-hidden=\"true\">\n\t\t\t\t\t\t<label>Dieses Feld bitte leer lassen\n\t\t\t\t\t\t\t<input type=\"text\" name=\"lr_hp_check\" tabindex=\"-1\" autocomplete=\"off\" \/>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<label class=\"lr-cveqc-check\">\n\t\t\t\t\t\t<input type=\"checkbox\" name=\"consentProcessingAccepted\" value=\"1\" required \/>\n\t\t\t\t\t\t<span>Ich stimme zu, dass LocateRisk meine Angaben f\u00fcr den Quick Check verarbeitet, mir das Ergebnis per E-Mail schickt und sich dazu per E-Mail bei mir meldet. Es gelten die <a href=\"\/files\/agb.pdf\" target=\"_blank\" rel=\"noopener\">AGB<\/a> und die <a href=\"\/datenschutz\/\" target=\"_blank\" rel=\"noopener\">Datenschutzerkl\u00e4rung<\/a>.<\/span>\n\t\t\t\t\t<\/label>\n\n\t\t\t\t\t<label class=\"lr-cveqc-check\">\n\t\t\t\t\t\t<input type=\"checkbox\" name=\"cveNotifyOptIn\" value=\"1\" \/>\n\t\t\t\t\t\t<span>Benachrichtigt mich, wenn f\u00fcr extern erkennbare Software neue kritische Schwachstellen (CVSS ab 9) ver\u00f6ffentlicht werden. Jederzeit abbestellbar. (optional)<\/span>\n\t\t\t\t\t<\/label>\n\n\t\t\t\t\t<label class=\"lr-cveqc-check\">\n\t\t\t\t\t\t<input type=\"checkbox\" name=\"marketingOptIn\" value=\"1\" \/>\n\t\t\t\t\t\t<span>Infos zu LocateRisk Produkten und Security-Themen per E-Mail. Jederzeit widerrufbar. (optional)<\/span>\n\t\t\t\t\t<\/label>\n\n\t\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"consentTextVerbatim\" value=\"Ich stimme zu, dass LocateRisk meine Angaben f\u00fcr den Quick Check verarbeitet, mir das Ergebnis per E-Mail schickt und sich dazu per E-Mail bei mir meldet. Es gelten die AGB und die Datenschutzerkl\u00e4rung.\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"consentTextVersion\" value=\"qc_consent_fd4a0945\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"marketingTextVerbatim\" value=\"Infos zu LocateRisk Produkten und Security-Themen per E-Mail. Jederzeit widerrufbar. (optional)\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"marketingTextVersion\" value=\"qc_marketing_cee62603\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"locale\" value=\"de\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"blogPostUrl\" value=\"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"utmSource\" value=\"\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"utmCampaign\" value=\"\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"invalidCveMessage\" value=\"Bitte geben Sie eine g\u00fcltige CVE-ID an (z. B. CVE-2024-3094).\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"consentRequiredMessage\" value=\"Bitte stimmen Sie der Verarbeitung zu, damit wir den Quick Check durchf\u00fchren k\u00f6nnen.\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"captchaMessage\" value=\"Bitte best\u00e4tigen Sie das reCAPTCHA und versuchen Sie es erneut.\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"successMessage\" value=\"Vielen Dank! Bitte best\u00e4tigen Sie Ihre E-Mail-Adresse \u00fcber den Link, den wir Ihnen soeben geschickt haben. Danach starten wir den Quick Check.\" \/>\n\t\t\t\t\t<input type=\"hidden\" name=\"errorMessage\" value=\"Das hat leider nicht geklappt. Bitte pr\u00fcfen Sie Ihre Angaben und versuchen Sie es erneut.\" \/>\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"g-recaptcha\" data-sitekey=\"6LdErNoZAAAAAD1Re2jNxtDFfcDaL9iED5MRBzjR\"\n\t\t\t\t\t\t\tdata-callback=\"verifyRecaptchaCallback\" data-expired-callback=\"expiredRecaptchaCallback\"><\/div>\n\t\t\t\t\t\t<input type=\"hidden\" name=\"g-recaptcha-response\" data-recaptcha \/>\n\t\t\t\t\t\n\t\t\t\t\t<p class=\"lr-cveqc-message\" hidden><\/p>\n\n\t\t\t\t\t<button class=\"lr-button-link\" type=\"submit\">Quick Check starten<\/button>\n\t\t\t\t<\/form>\n\t\t\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n\n\t\t<style>\n\t\t\/* CVE Quick Check im Stil der bestehenden Anfrage-Formulare:\n\t\t   wei\u00dfer Grund, zweispaltig, graue Felder, t\u00fcrkiser Button. *\/\n\t\t.lr-cveqc {\n\t\t\tbackground: #ffffff; color: #00051d; box-sizing: border-box; padding: 64px 32px;\n\t\t\tfont-family: Roboto, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n\t\t}\n\t\t.lr-cveqc * { box-sizing: border-box; }\n\t\t.lr-cveqc-inner {\n\t\t\tmax-width: 1160px; margin: 0 auto;\n\t\t\tdisplay: flex; flex-direction: row; gap: 6%; align-items: flex-start;\n\t\t}\n\t\t.lr-cveqc-story { flex: 1 1 54%; min-width: 0; }\n\t\t.lr-cveqc-form-col { flex: 0 0 38%; max-width: 420px; }\n\n\t\t.lr-cveqc-headline { color: #26d9c3; margin: 0 0 20px; }\n\t\t.lr-cveqc-text { font-size: 16px; line-height: 1.62; color: #00051d; margin: 0 0 28px; max-width: 46ch; }\n\n\t\t.lr-cveqc-bullets { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-direction: column; gap: 16px; }\n\t\t.lr-cveqc-bullets li { display: flex; gap: 13px; align-items: flex-start; }\n\t\t.lr-cveqc-bullets svg { flex: none; width: 25px; height: 25px; margin-top: 1px; }\n\t\t.lr-cveqc-bullets span { font-size: 15px; line-height: 1.5; color: #00051d; }\n\n\t\t.lr-cveqc-teaser { border: 1px solid #e2e8e6; border-radius: 12px; padding: 18px 20px; background: linear-gradient(180deg,#fbfdfc,#f2f8f6); max-width: 430px; }\n\t\t.lr-cveqc-teaser h4 { margin: 0 0 6px; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: #58616f; font-family: inherit; font-weight: 700; }\n\t\t.lr-cveqc-trow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; font-size: 13.5px; }\n\t\t.lr-cveqc-trow + .lr-cveqc-trow { border-top: 1px dashed #dbe4e1; }\n\t\t.lr-cveqc-trow .k { color: #58616f; }\n\t\t.lr-cveqc-trow .v { font-weight: 600; color: #00051d; }\n\t\t.lr-cveqc-lamp { display: inline-flex; gap: 6px; align-items: center; }\n\t\t.lr-cveqc-lamp i { width: 13px; height: 13px; border-radius: 50%; opacity: .28; display: inline-block; }\n\t\t.lr-cveqc-lamp i.r { background: #f6105f; }\n\t\t.lr-cveqc-lamp i.y { background: #f6bf28; }\n\t\t.lr-cveqc-lamp i.g { background: #23c39a; }\n\t\t.lr-cveqc-pill { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #eef0f4; color: #00051d; white-space: nowrap; }\n\n\t\t.lr-cveqc-form input[type=text], .lr-cveqc-form input[type=email], .lr-cveqc-form input[type=tel] {\n\t\t\tdisplay: block; width: 100%; height: 50px; margin: 0 0 10px;\n\t\t\tborder: 0; border-radius: 0; background: #dedede; color: #00051d;\n\t\t\tfont-size: 16px; padding: 0 18px; font-family: inherit;\n\t\t}\n\t\t.lr-cveqc-form input::placeholder { color: #6d7580; }\n\t\t.lr-cveqc-form input.lr-invalid { border-bottom: 2px solid #f6105f; }\n\t\t.lr-cveqc-hint { font-size: 12.5px; line-height: 1.5; color: #58616f; margin: 2px 0 16px; }\n\t\t.lr-cveqc-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }\n\t\t.lr-cveqc-check { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 12px; font-size: 12.5px; line-height: 1.5; color: #00051d; }\n\t\t.lr-cveqc-check span { color: #00051d; }\n\t\t.lr-cveqc-check input { margin-top: 2px; flex: none; width: 18px; height: 18px; accent-color: #26d9c3; }\n\t\t.lr-cveqc-check a { color: inherit; text-decoration: underline; }\n\t\t.lr-cveqc .g-recaptcha { margin: 8px 0 16px; }\n\t\t.lr-cveqc-message { font-size: 14px; padding: 12px 14px; border-radius: 6px; margin: 0 0 12px; }\n\t\t.lr-cveqc-message.lr-success { background: #e2f7ef; color: #0c6b4d; }\n\t\t.lr-cveqc-message.lr-error { background: #fdeaee; color: #9b0e3f; }\n\t\t.lr-cveqc .lr-button-link, .lr-cveqc button[type=submit] {\n\t\t\tdisplay: flex; align-items: center; justify-content: center;\n\t\t\twidth: 100%; height: 50px; padding: 0 20px; box-sizing: border-box;\n\t\t\tborder: 0; cursor: pointer;\n\t\t\tbackground: #26d9c3; color: #00051d; font-weight: 700; font-size: 14px;\n\t\t\tfont-family: inherit; text-align: center; line-height: 1.2; text-decoration: none;\n\t\t\ttransition: background .15s ease;\n\t\t}\n\t\t.lr-cveqc button[type=submit]:hover { background: #0fb5a2; }\n\t\t.lr-cveqc button[disabled] { opacity: .6; cursor: default; }\n\n\t\t@media (max-width: 820px) {\n\t\t\t.lr-cveqc { padding: 40px 22px; }\n\t\t\t.lr-cveqc-inner { flex-direction: column; gap: 34px; }\n\t\t\t.lr-cveqc-story, .lr-cveqc-form-col { flex-basis: auto; max-width: 520px; width: 100%; }\n\t\t}\n\t<\/style>\n\t<script>\n\t(function () {\n\t\t\/\/ Token-Callbacks f\u00fcrs globale reCAPTCHA (identisch zum Theme, defensiv)\n\t\tif (!window.verifyRecaptchaCallback) {\n\t\t\twindow.verifyRecaptchaCallback = function (response) {\n\t\t\t\tdocument.querySelectorAll('input[data-recaptcha]').forEach(function (el) { el.value = response })\n\t\t\t}\n\t\t}\n\t\tif (!window.expiredRecaptchaCallback) {\n\t\t\twindow.expiredRecaptchaCallback = function () {\n\t\t\t\tdocument.querySelectorAll('input[data-recaptcha]').forEach(function (el) { el.value = '' })\n\t\t\t}\n\t\t}\n\n\t\tfunction showMessage(form, text, isSuccess) {\n\t\t\tvar box = form.querySelector('.lr-cveqc-message')\n\t\t\tbox.textContent = text\n\t\t\tbox.classList.remove('lr-success', 'lr-error')\n\t\t\tbox.classList.add(isSuccess ? 'lr-success' : 'lr-error')\n\t\t\tbox.hidden = false\n\t\t}\n\n\t\tfunction init() {\n\t\t\tdocument.querySelectorAll('.lr-cveqc-form').forEach(function (form) {\n\t\t\t\tform.addEventListener('submit', function (e) {\n\t\t\t\t\te.preventDefault()\n\n\t\t\t\t\tvar cve = form.querySelector('input[name=cveId]')\n\t\t\t\t\tvar email = form.querySelector('input[name=email]')\n\t\t\t\t\tvar consent = form.querySelector('input[name=consentProcessingAccepted]')\n\t\t\t\t\tvar cvePattern = \/^CVE-\\d{4}-\\d{4,7}$\/i\n\n\t\t\t\t\tcve.classList.toggle('lr-invalid', !cvePattern.test(cve.value.trim()))\n\t\t\t\t\temail.classList.toggle('lr-invalid', !email.checkValidity())\n\n\t\t\t\t\tif (!cvePattern.test(cve.value.trim())) {\n\t\t\t\t\t\tshowMessage(form, form.querySelector('input[name=invalidCveMessage]').value, false)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif (!email.checkValidity()) {\n\t\t\t\t\t\temail.reportValidity()\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif (!consent.checked) {\n\t\t\t\t\t\tshowMessage(form, form.querySelector('input[name=consentRequiredMessage]').value, false)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tvar button = form.querySelector('button[type=submit]')\n\t\t\t\t\tbutton.disabled = true\n\n\t\t\t\t\tvar data = new FormData(form)\n\t\t\t\t\tdata.append('action', 'lr_cve_quick_check')\n\n\t\t\t\t\tfetch(form.getAttribute('data-ajax-url'), { method: 'POST', body: data })\n\t\t\t\t\t\t.then(function (res) { return res.json() })\n\t\t\t\t\t\t.then(function (json) {\n\t\t\t\t\t\t\tif (json && json.success) {\n\t\t\t\t\t\t\t\tshowMessage(form, form.querySelector('input[name=successMessage]').value, true)\n\t\t\t\t\t\t\t\tform.querySelectorAll('input, button').forEach(function (el) { el.disabled = true })\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\/\/ Interne Codes nie roh anzeigen, nur bekannte Codes auf\n\t\t\t\t\t\t\t\t\/\/ konfigurierte Texte mappen, sonst generische Fehlermeldung\n\t\t\t\t\t\t\t\tvar code = json && json.data && (json.data.code || json.data.message)\n\t\t\t\t\t\t\t\tvar msg = form.querySelector('input[name=errorMessage]').value\n\t\t\t\t\t\t\t\tif (code === 'invalid_cve' || code === 'invalid') {\n\t\t\t\t\t\t\t\t\tmsg = form.querySelector('input[name=invalidCveMessage]').value\n\t\t\t\t\t\t\t\t} else if (code === 'captcha') {\n\t\t\t\t\t\t\t\t\tmsg = form.querySelector('input[name=captchaMessage]').value\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowMessage(form, msg, false)\n\t\t\t\t\t\t\t\tbutton.disabled = false\n\t\t\t\t\t\t\t\tif (window.grecaptcha && form.querySelector('.g-recaptcha')) {\n\t\t\t\t\t\t\t\t\ttry { window.grecaptcha.reset() } catch (err) { \/* noop *\/ }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(function () {\n\t\t\t\t\t\t\tshowMessage(form, form.querySelector('input[name=errorMessage]').value, false)\n\t\t\t\t\t\t\tbutton.disabled = false\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\n\t\tif (document.readyState === 'loading') {\n\t\t\tdocument.addEventListener('DOMContentLoaded', init)\n\t\t} else {\n\t\t\tinit()\n\t\t}\n\t})()\n\t<\/script>\n\t\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-lr-contact-module\"><div class=\"content\"><h2>Mehr erfahren, Demo buchen oder einfach mal kurz austauschen? Wir freuen uns!<\/h2><div class=\"contact-info-row\"><div class=\"contact-person-info\"><div class=\"avatar\"><img decoding=\"async\" src=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2025\/06\/Lukas_Baumann_LocateRisk-300.png\"><\/div><p><span class=\"text before\">Ihr Ansprechpartner<\/span><span class=\"bold name\"><strong>Lukas<\/strong><\/span> <span class=\"lastname\"><strong>Baumann<strong><\/strong><\/strong><\/span><strong><strong><span class=\"separator\"><\/span><span class=\"role\">CEO<\/span><\/strong><\/strong><\/p><\/div><p class=\"bold phone\"><strong><strong>+49 6151 6290246<\/strong><\/strong><\/p><strong><strong><a class=\"pr-1\" href=\"mailto:%20sales@locaterisk.com\">Jetzt Kontakt aufnehmen<\/a><\/strong><\/strong><\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-lr-footer-module lr-footer-block\"><div class=\"content\"><div class=\"column0\"><img decoding=\"async\" src=\"https:\/\/locaterisk.com\/wp-content\/plugins\/locate-risk-prod\/lr-blocks\/assets\/img\/lr-logo.svg\"\/><\/div><div class=\"categories\"><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/\">Home<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/blog\/\">Blog<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/wissen\/\">Wissen<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/about\/\">\u00dcber uns<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/kontakt\/\">Kontakt<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/impressum\/\">Impressum<\/a><\/div><div class=\"categories-break\"><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/datenschutz\/\">Datenschutz<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/files\/agb.pdf\">AGB<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/locaterisk.com\/de\/jobs\/\">Jobs<\/a><\/div><div class=\"categories-element\"><a class=\"pr-4\" href=\"https:\/\/app.secfix.com\/trust\/locaterisk\/d1e7d433b33643aea1880bfbfeab9f60\">Trust Center<\/a><\/div><\/div><div class=\"social\"><div class=\"social-element\"><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/company\/locaterisk\/\"><img decoding=\"async\" src=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2020\/10\/gruppe-230@3x.png\"\/><\/a><\/div><div class=\"social-element\"><a target=\"_blank\" href=\"https:\/\/www.instagram.com\/locaterisk\/\"><img decoding=\"async\" src=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2020\/11\/Instagram.png\"\/><\/a><\/div><div class=\"social-element\"><a target=\"_blank\" href=\"https:\/\/twitter.com\/locaterisk\"><img decoding=\"async\" src=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2020\/11\/twitter.png\"\/><\/a><\/div><\/div><div class=\"description\"><h6>\u00a9 LocateRisk 2026<\/h6><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.<\/p>\n","protected":false},"author":13,"featured_media":9144,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[632],"tags":[987,988,983,985,986,984],"lr_blog_topic":[837],"class_list":["post-99226","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cybersecurity-news","tag-cve-2026-111497","tag-node-js-exploit","tag-node-js-schwachstelle","tag-node-js-sicherheitsluecke","tag-node-js-update","tag-node2shell","lr_blog_topic-schwachstellen-advisories"],"yoast_head":"<title>Node2Shell: Node.js-Sicherheitsl\u00fccke finden und schlie\u00dfen<\/title>\n<meta name=\"description\" content=\"Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node2Shell: Node.js-Sicherheitsl\u00fccke finden und schlie\u00dfen\" \/>\n<meta property=\"og:description\" content=\"Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/\" \/>\n<meta property=\"og:site_name\" content=\"LocateRisk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-23T08:18:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kristina Hoinkis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kristina Hoinkis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/\"},\"author\":{\"name\":\"Kristina Hoinkis\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#\\\/schema\\\/person\\\/68f3857c15afa8ff59c545848dddcc32\"},\"headline\":\"Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen\",\"datePublished\":\"2026-10-23T08:18:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/\"},\"wordCount\":2107,\"publisher\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/locaterisk.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/supply-chain-compromise.png\",\"keywords\":[\"CVE-2026-111497\",\"Node.js Exploit\",\"Node.js Schwachstelle\",\"Node.js Sicherheitsl\u00fccke\",\"Node.js Update\",\"Node2Shell\"],\"articleSection\":[\"Cybersecurity News\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/\",\"url\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/\",\"name\":\"Node2Shell: Node.js-Sicherheitsl\u00fccke finden und schlie\u00dfen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/locaterisk.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/supply-chain-compromise.png\",\"datePublished\":\"2026-10-23T08:18:38+00:00\",\"description\":\"Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#primaryimage\",\"url\":\"https:\\\/\\\/locaterisk.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/supply-chain-compromise.png\",\"contentUrl\":\"https:\\\/\\\/locaterisk.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/supply-chain-compromise.png\",\"width\":400,\"height\":400,\"caption\":\"supply-chain-compromise\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/node-js-rce-cve-2026-111497\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/locaterisk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/\",\"name\":\"LocateRisk\",\"description\":\"IT-Sicherheit messen und vergleichen\",\"publisher\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#organization\",\"name\":\"LocateRisk\",\"url\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/locaterisk.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Kettenglieder_V0216-9.jpg\",\"contentUrl\":\"https:\\\/\\\/locaterisk.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Kettenglieder_V0216-9.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"LocateRisk\"},\"image\":{\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/locaterisk\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/locaterisk.com\\\/de\\\/#\\\/schema\\\/person\\\/68f3857c15afa8ff59c545848dddcc32\",\"name\":\"Kristina Hoinkis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7756f96249844e60ceb218f17e06217dcbed4993bcd2124e3f59bb8675324f0d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7756f96249844e60ceb218f17e06217dcbed4993bcd2124e3f59bb8675324f0d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7756f96249844e60ceb218f17e06217dcbed4993bcd2124e3f59bb8675324f0d?s=96&d=mm&r=g\",\"caption\":\"Kristina Hoinkis\"}}]}<\/script>","yoast_head_json":{"title":"Node2Shell: Node.js-Sicherheitsl\u00fccke finden und schlie\u00dfen","description":"Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/","og_locale":"de_DE","og_type":"article","og_title":"Node2Shell: Node.js-Sicherheitsl\u00fccke finden und schlie\u00dfen","og_description":"Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.","og_url":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/","og_site_name":"LocateRisk","article_published_time":"2026-10-23T08:18:38+00:00","og_image":[{"width":400,"height":400,"url":"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png","type":"image\/png"}],"author":"Kristina Hoinkis","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Kristina Hoinkis","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#article","isPartOf":{"@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/"},"author":{"name":"Kristina Hoinkis","@id":"https:\/\/locaterisk.com\/de\/#\/schema\/person\/68f3857c15afa8ff59c545848dddcc32"},"headline":"Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen","datePublished":"2026-10-23T08:18:38+00:00","mainEntityOfPage":{"@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/"},"wordCount":2107,"publisher":{"@id":"https:\/\/locaterisk.com\/de\/#organization"},"image":{"@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#primaryimage"},"thumbnailUrl":"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png","keywords":["CVE-2026-111497","Node.js Exploit","Node.js Schwachstelle","Node.js Sicherheitsl\u00fccke","Node.js Update","Node2Shell"],"articleSection":["Cybersecurity News"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/","url":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/","name":"Node2Shell: Node.js-Sicherheitsl\u00fccke finden und schlie\u00dfen","isPartOf":{"@id":"https:\/\/locaterisk.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#primaryimage"},"image":{"@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#primaryimage"},"thumbnailUrl":"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png","datePublished":"2026-10-23T08:18:38+00:00","description":"Node2Shell (CVE-2026-111497): kritische L\u00fccke in Node.js, Proof of Concept \u00f6ffentlich. So finden Sie betroffene Software und schlie\u00dfen die L\u00fccke.","breadcrumb":{"@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#primaryimage","url":"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png","contentUrl":"https:\/\/locaterisk.com\/wp-content\/uploads\/2026\/07\/supply-chain-compromise.png","width":400,"height":400,"caption":"supply-chain-compromise"},{"@type":"BreadcrumbList","@id":"https:\/\/locaterisk.com\/de\/node-js-rce-cve-2026-111497\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/locaterisk.com\/"},{"@type":"ListItem","position":2,"name":"Node2Shell: Kritische Node.js-Sicherheitsl\u00fccke \u2013 betroffene Software finden und schlie\u00dfen"}]},{"@type":"WebSite","@id":"https:\/\/locaterisk.com\/de\/#website","url":"https:\/\/locaterisk.com\/de\/","name":"LocateRisk","description":"IT-Sicherheit messen und vergleichen","publisher":{"@id":"https:\/\/locaterisk.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/locaterisk.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/locaterisk.com\/de\/#organization","name":"LocateRisk","url":"https:\/\/locaterisk.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/locaterisk.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/locaterisk.com\/wp-content\/uploads\/2020\/11\/Kettenglieder_V0216-9.jpg","contentUrl":"https:\/\/locaterisk.com\/wp-content\/uploads\/2020\/11\/Kettenglieder_V0216-9.jpg","width":1920,"height":1080,"caption":"LocateRisk"},"image":{"@id":"https:\/\/locaterisk.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/locaterisk\/"]},{"@type":"Person","@id":"https:\/\/locaterisk.com\/de\/#\/schema\/person\/68f3857c15afa8ff59c545848dddcc32","name":"Kristina Hoinkis","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/7756f96249844e60ceb218f17e06217dcbed4993bcd2124e3f59bb8675324f0d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7756f96249844e60ceb218f17e06217dcbed4993bcd2124e3f59bb8675324f0d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7756f96249844e60ceb218f17e06217dcbed4993bcd2124e3f59bb8675324f0d?s=96&d=mm&r=g","caption":"Kristina Hoinkis"}}]}},"_links":{"self":[{"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/posts\/99226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/comments?post=99226"}],"version-history":[{"count":1,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/posts\/99226\/revisions"}],"predecessor-version":[{"id":99227,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/posts\/99226\/revisions\/99227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/media\/9144"}],"wp:attachment":[{"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/media?parent=99226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/categories?post=99226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/tags?post=99226"},{"taxonomy":"lr_blog_topic","embeddable":true,"href":"https:\/\/locaterisk.com\/de\/wp-json\/wp\/v2\/lr_blog_topic?post=99226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}