---
title: "Node.js Brotli RCE CVE-2026-111497: hvad du skal opdatere"
description: "Node.js har rettet en fejl i Brotli-dekoderen, der muliggør fjernkørsel af kode. Rettet i 22.23.4, 24.22.1 og 26.12.1. Hvem er ramt, og hvad du gør."
source: "https://wardio.net/da/guides/nodejs-brotli-cve-2026-111497/"
---

**Patching**

# Node.js Brotli-dekoder RCE: CVE-2026-111497

Sikkerhedsudgivelsen af Node.js fra oktober 2026 retter ti fejl. Den ene er en fejl i Brotli-dekoderen, som projektet skriver muliggør fjernkørsel af kode. Her er, hvem der er ramt, og den ene installationsmetode, hvor en opdatering af Node ikke løser det.

Af David Kabel · Opdateret 2026-10-21 · 4 min læsning

**Det korte svar**

Opdatér til Node.js 22.23.4, 24.22.1 eller 26.12.1, og genstart alle Node-processer. Fejlen er en out-of-bounds write i Brotli-dekomprimering, så kode, der dekomprimerer Brotli-data fra en angriber, er ramt. Node.js 20 og ældre har nået end of life og får ingen rettelse. Kommer din Node fra Debian- eller Ubuntu-pakker, skal rettelsen i stedet komme via systemets `libbrotli`\-pakke.

## De fire rettelser med høj alvor

| CVE | Fejl | Ramte linjer |
| --- | --- | --- |
| CVE-2026-111497 | Out-of-bounds write i Brotli-dekoderen muliggør fjernkørsel af kode | 26, 24, 22 |
| CVE-2026-105483 | TLS-tjek af værtsnavn omgås, når IP-adressen skrives med fullwidth-cifre | 26, 24 |
| CVE-2026-106069 | TLS-tjek af værtsnavn omgås, når værten løst kan tolkes som en IP-adresse | 26, 24, 22 |
| CVE-2026-105482 | dns.resolve afkorter navne, der indeholder et NUL-tegn | 26, 24, 22 |

Udgivelsen har også tre fejl med mellem og tre med lav alvor samt opdateringer af c-ares, Undici, OpenSSL på 22.x og 24.x, SQLite på 22.x og CA-listen efter kompromitteringen af eMudhras mellemliggende CA. Udgivelsesnoterne beskriver Brotli-rettelsen som et cherry-pick ind i den Brotli-kopi, Node leverer med.

## Hvem er ramt

Fejlen sidder i dekomprimeringen, så spørgsmålet er, om din kode dekomprimerer Brotli-data, som andre styrer:

-   **Servere, der pakker request-bodies ud**, når de sendes med `Content-Encoding: br`. Tjek, om din body-parser eller dit framework gør det.
-   **Klienter, der afkoder svar** fra servere uden for din kontrol, fx scrapers, webhooks der følger redirects, eller proxyer der dekomprimerer.
-   **Direkte brug** af `zlib.brotliDecompress`, `brotliDecompressSync` eller `createBrotliDecompress` på uploadede filer eller brugerdata.

En app, der kun komprimerer sine egne svar med Brotli, dekomprimerer ikke input udefra. Opdatér den alligevel. De to fejl i TLS-tjekket af værtsnavne svækker certifikatkontrollen på udgående forbindelser, hvor værten er en IP-adresse eller noget, der løst kan tolkes som en.

## Tjek din version

```
node -v                           # rettet: v22.23.4, v24.22.1, v26.12.1 eller nyere
which -a node                     # mere end én node på maskinen?
# Debian- og Ubuntu-pakkerne bruger systemets Brotli-bibliotek:
dpkg -l nodejs libbrotli1 | awk '/^ii/ {print $2, $3}'
ldd "$(command -v node)" | grep -i brotli
```

Viser `ldd` `libbrotlidec`, bruger din Node systemets bibliotek, og sådan bygger Debian sin `nodejs`\-pakke. De officielle binære filer, nvm, NodeSource og Docker-images leverer deres egen kopi, og dem retter Node-opdateringen.

## Opdatér og genstart

```
# nvm
nvm install 24 && nvm alias default 24

# De officielle Docker-images blev genbygget 21. oktober 2026
docker pull node:24 && docker compose build --pull && docker compose up -d

# NodeSource-pakker
sudo apt update && sudo apt install --only-upgrade nodejs

# Genstart derefter alle Node-processer: pm2, systemd-units, containere
pm2 restart all
```

En kørende proces beholder det gamle program i hukommelsen. Genstart pm2, systemd-units og containere efter opgraderingen, og byg images igen i stedet for kun at genstarte dem.

## Hvis du ikke kan opdatere i dag

På servere kan du afvise Brotli-kodede request-bodies i reverse proxyen, indtil du kan patche. Browsere sender ikke komprimerede request-bodies, så almindelige brugere mærker det ikke:

```
# Nødløsning: afvis Brotli-komprimerede request-bodies i proxyen
if ($http_content_encoding ~* "br") {
    return 415;
}
```

Det dækker ikke udgående requests. For klienter, der henter fra værter uden for din kontrol, er opdateringen den eneste løsning.

## Faldgruber

-   **Debians Node 20 har nået end of life upstream.** Debian 13 leverer nodejs 20.19.2, som Node.js-projektet ikke længere understøtter. Den bruger systemets Brotli-bibliotek, så om den er ramt, afhænger af Debians `brotli`\-pakke. Den 21. oktober 2026 viste Debians sikkerhedstracker ingen åben sag for brotli og intet opslag for CVE-2026-111497. Tjek igen, før du stoler på det.
-   **Flere Node-installationer på én server.** nvm, en systempakke og en medleveret runtime i en Electron- eller appliance-app kan ligge side om side. `which -a node` finder dem i din PATH, ikke de medleverede.
-   **Låste base-images.** En Dockerfile låst til `node:24.22.0` forbliver sårbar, uanset hvor tit du bygger. Flyt låsen til `24.22.1` eller nyere.

**Sådan blev det kontrolleret.** Den 21. oktober 2026 læste vi Node.js' indlæg om sikkerhedsudgivelsen og udgivelsesnoterne til v24.22.1, bekræftede opdateringstidspunkterne for Docker Hub-taggene `node:26` og `node:24.22.1` via Docker Hubs API og læste `debian/rules` i Debians nodejs-pakke 20.19.2+dfsg-1+deb13u2, som bygger med `--shared-brotli`. Ikke testet: selve sårbarheden.

## Kilder

1.  [Wednesday, October 21, 2026 Security Releases](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases), Node.js-projektet
2.  [Node.js 24.22.1 (LTS)](https://nodejs.org/en/blog/release/v24.22.1/), Node.js-projektet
3.  [Node.js 22.23.4](https://nodejs.org/en/blog/release/v22.23.4/) og [Node.js 26.12.1](https://nodejs.org/en/blog/release/v26.12.1/), Node.js-projektet
4.  [nodejs debian/rules](https://sources.debian.org/src/nodejs/20.19.2+dfsg-1+deb13u2/debian/rules/), Debian sources
5.  [brotli](https://security-tracker.debian.org/tracker/source-package/brotli), Debians sikkerhedstracker

## Spørgsmål

### Hvad er CVE-2026-111497?

CVE-2026-111497 er en out-of-bounds write med høj alvor i den Brotli-dekoder, Node.js bruger. Node.js-projektet skriver, at den muliggør fjernkørsel af kode. Den rammer udgivelseslinjerne 22.x, 24.x og 26.x og blev rettet 21. oktober 2026 ved at cherry-picke en rettelse ind i den kopi af Brotli-biblioteket, Node.js leverer med.

### Hvilke Node.js-versioner retter Brotli-sårbarheden?

Node.js 22.23.4, 24.22.1 og 26.12.1. Linjer, der har nået end of life, som Node.js 20, får ingen rettelse, og Node.js-projektet skriver, at versioner efter end of life altid er ramt, når der kommer en sikkerhedsudgivelse.

### Er jeg ramt, hvis jeg har installeret Node.js fra Debian- eller Ubuntu-pakker?

Måske, men rettelsen kommer fra en anden pakke. Debian bygger sin nodejs-pakke med --shared-brotli, så den bruger systemets libbrotli i stedet for den medleverede kopi. En ny upstream-udgivelse af Node.js ændrer ikke noget der. Hold øje med brotli-pakken i din distributions sikkerhedstracker.

### Hvilke Node.js-applikationer er ramt af Brotli-fejlen?

Alt, der dekomprimerer Brotli-data, som en angriber styrer. Det gælder servere, der pakker request-bodies sendt med Content-Encoding: br ud, og klienter, der henter fra servere uden for din kontrol og afkoder br-svar. Kode, der aldrig dekomprimerer Brotli, når ikke fejlen, men opdatér alligevel, for samme udgivelse retter tre andre fejl med høj alvor.

**Node-tjenester, ingen har rørt i månedsvis?**

Den gratis gennemgang finder alle runtimes på dine servere, og hvordan hver af dem bliver patchet. [Priser](/da/priser/).

[Gratis servergennemgang](/da/kontakt/)
