CVE-2026-123370 fix --apply de compose-lint puede borrar una línea no seleccionada, incluida una configuración de seguridad
Desde la 0.9.0 hasta la 0.18.0, el analizador YAML de compose-lint reconoce retornos de carro aislados y los separadores de línea Unicode U+0085, U+2028 y U+2029 como saltos de línea, mientras que la conversión de posiciones de corrección solo cuenta caracteres de nueva línea. Una pull request puede colocar uno de estos separadores en un valor entre comillas para que fix --apply desplace cada edición posterior y borre la línea siguiente al objetivo seleccionado, incluida una configuración de red u otra…
CVSS 4.0
- Probabilidad de explotaciónSin dato
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
tmatens compose-lint
>= 0.9.0, < 0.18.0
Qué hacer
- Verificá si usás compose-lint y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 4.0 · 5.1 MEDIA
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataqueNinguno
- Privilegios requeridosNinguno
- Interacción del usuarioActiva
- Confidencialidad (sistema vulnerable)Ninguna
- Integridad (sistema vulnerable)Baja
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Baja
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. From 0.9.0 until 0.18.0, compose-lint's YAML parser recognizes lone carriage returns and Unicode line separators U+0085, U+2028, and U+2029 as line breaks while fix position conversion counts only newline characters. A pull request can place one of these separators in a quoted value so fix --apply shifts each later edit and deletes the line after the selected target, including an unselected network or other security setting. The resulting Compose file can remain valid, post-edit checks can pass, and the command can report a successful fix even though the dry-run diff was the only place showing the extra deletion. This issue is fixed in version 0.18.0.
Referencias (6)
- github.com/tmatens/compose-lint/security/advisories/GHSA-65v8-q222-64xx
- github.com/tmatens/compose-lint/pull/547
- github.com/tmatens/compose-lint/pull/549
- github.com/tmatens/compose-lint/commit/c9d453a6a69c076788fe1db05cb54684a616d1de
- github.com/tmatens/compose-lint/commit/cbbf886d91347dea9c51b584eb50088e70007d0d
- github.com/tmatens/compose-lint/releases/tag/v0.18.0
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.