← Volver a artículos
Seguridad· 3 min de lectura

OpenBSD parchea un use-after-free en httpd(8) con codificación chunked (errata 013)

El 2 de febrero de 2026 el proyecto OpenBSD publicó una errata de seguridad que corrige un fallo de tipo use-after-free en su servidor web integrado, httpd(8). La corrección llegó como errata 013 para la rama 7.8 y afecta también a la versión soportada 7.7.

Qué es httpd(8) y dónde se usa

httpd(8) es el servidor web ligero que viene en el sistema base de OpenBSD. Lo diseñaron siguiendo la filosofía del proyecto: código pequeño, auditado y con separación de privilegios mediante chroot y privsep. Lo verás sirviendo sitios estáticos, haciendo de front-end o como servidor de aplicaciones sencillas, en entornos donde la simplicidad y la robustez pesan más que el número de funciones. Como va integrado en el base, muchas instalaciones de OpenBSD lo usan sin instalar nada de terceros.

En qué consiste la vulnerabilidad

El fallo es un use-after-free: el código de httpd(8) accede a una región de memoria que ya se había liberado. La condición salta al procesar peticiones HTTP que utilizan codificación de transferencia chunked (chunked transfer encoding), el mecanismo que permite enviar el cuerpo de una petición o respuesta en fragmentos sin conocer de antemano su longitud total.

Los use-after-free entran en la familia de fallos de gestión de memoria (CWE-416). En el peor caso pueden acabar en corrupción de memoria, caída del servicio (denegación de servicio) o, según cómo se reutilice la memoria liberada, en comportamientos no deseados del proceso. El aviso oficial de OpenBSD describe la corrección de forma escueta —«Fix a use-after-free in httpd(8) when using chunked encoding»—, fiel a la costumbre del proyecto de no dar detalles que faciliten la explotación antes de que la gente aplique el parche.

A quién afecta y gravedad

Quedan afectadas las instalaciones de OpenBSD 7.7 y 7.8 que ejecuten httpd(8) y reciban tráfico capaz de usar codificación chunked. Como httpd(8) suele estar expuesto a Internet o a redes no confiables, cualquier servidor accesible que sirva peticiones con cuerpo chunked debe darse por expuesto hasta aplicar el parche.

OpenBSD no asignó identificador CVE a esta errata ni publicó puntuación CVSS, algo frecuente en su flujo de erratas. La gravedad se considera alta porque es un fallo de memoria en un servicio de red orientado a Internet, aunque el aviso no confirma explotación activa ni que la ejecución de código sea viable.

Mitigación y parche

La corrección llega por la herramienta de parcheo binario de OpenBSD. Basta con ejecutar, como administrador:

syspatch

y reiniciar httpd(8) (rcctl restart httpd) para que el servicio cargue el binario corregido. Si lo prefieres, el proyecto publica el parche como diff unificado de código fuente firmado con signify(1), que puedes aplicar y recompilar a mano. La errata 013 cubre todas las arquitecturas soportadas (incluidas amd64, arm64 e i386).

Mientras aplicas el parche, conviene limitar la exposición del servicio y comprobar que httpd(8) corre con su separación de privilegios y chroot por defecto, una de las protecciones estructurales que el proyecto mantiene justamente para contener fallos de este tipo. Si quieres entender mejor el enfoque de seguridad del proyecto, lee OpenBSD: cultura de seguridad.

Fuente