← Tornar als articles
Seguretat· 2 min de lectura

nginx: injecció man-in-the-middle en fer de proxy cap a servidors TLS (CVE-2026-1642, DSA-6131-1)

L’equip de seguretat de Debian ha tret l’avís DSA-6131-1 per corregir CVE-2026-1642, un error a nginx que afecta qui fa servir el servidor com a proxy invers cap a un servidor TLS upstream, és a dir, quan nginx xifra la connexió cap al backend. Sota certes condicions, el defecte obre la porta a un atac d’injecció man-in-the-middle.

Què és la vulnerabilitat

L’origen és una condició de cursa dins del bucle d’esdeveniments de nginx quan aixeca noves connexions xifrades amb un servidor upstream. En obrir la connexió TCP cap al backend TLS, nginx comprova si hi ha dades entrants (esdeveniment de lectura) abans d’enviar el Client Hello de la negociació TLS (esdeveniment d’escriptura). Un atacant amb posició de man-in-the-middle al costat de l’upstream té aquí la seva finestra. Si envia una resposta HTTP en text clar just després d’establir la connexió TCP, però abans que arrenqui la negociació TLS, aconsegueix que nginx accepti aquestes dades sense xifrar com si vinguessin del backend de confiança, i se salta la negociació TLS del tot.

¿El resultat? L’atacant pot injectar dades en text pla a la resposta que nginx retorna al client, barrejant informació poc fiable amb dades d’un origen que sí que ho és. La classificació és CWE-349 (Acceptance of Extraneous Untrusted Data With Trusted Data) i la documentació d’upstream l’anomena de manera informal “NGINX Rift”.

A qui afecta

Això només toca les configuracions en què nginx fa proxy cap a un upstream per TLS (per exemple, amb proxy_pass https://... o proxy_ssl on). Si la teva instal·lació només serveix contingut estàtic o fa proxy en text pla, aquest vector no t’exposa. Segons upstream, les versions afectades van des de nginx 1.3.0 fins a 1.28.2 i les 1.29.x anteriors a 1.29.5.

Gravetat

Per explotar-ho, l’atacant ja necessita una posició privilegiada de man-in-the-middle entre nginx i l’upstream, més unes condicions de temporització que no controla del tot. Això rebaixa força la probabilitat real en xarxes ben segmentades. Tot i així, les conseqüències no són menors: la injecció de dades pot acabar en divulgació d’informació o, en algun escenari concret, donar peu a un compromís més gran. Debian li posa gravetat alta.

Mitigació i pedaç

Aquí la recomanació és clara: actualitza nginx ja. Debian té llestos els paquets corregits:

  • bookworm (oldstable): versió 1.22.1-9+deb12u4 o posterior.
  • trixie (stable): versió 1.26.3-3+deb13u2 o posterior.

Llança apt update && apt upgrade i reinicia el servei nginx. I de passada, com a defensa extra, val la pena que la xarxa entre nginx i els backends estigui ben segmentada i xifrada d’extrem a extrem, perquè a un atacant no li resulti fàcil colar-se al camí. Si fas servir nginx des de l’upstream oficial, actualitza a 1.28.2 / 1.29.5 o posterior.

Per endurir l’amfitrió on s’executa nginx, fes un cop d’ull a les polítiques de control d’accés obligatori del sistema; vegeu SELinux i AppArmor.

Font