CVE-2026-123370 PUBLISHED

compose-lint: `fix --apply` can delete a line the user did not select, including a security setting

Assigner: GitHub_M
Reserved: 05.11.2026 Published: 09.11.2026 Updated: 09.11.2026

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.

Metrics

CVSS Vector: 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
CVSS Score: 5.1

Product Status

Vendor tmatens
Product compose-lint
Versions
  • Version >= 0.9.0, < 0.18.0 is affected

References

Problem Types

  • CWE-193: Off-by-one Error CWE