Skip to content
OpenAdvisories
Medium · 5.1 CVE-2026-123370 EUVD-2026-120127GHSA-65v8-q222-64xx

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

Published Nov 9, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
tmatens compose-lint 0.9.0, < 0.18.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI compose-lint >= 0.9.0, < 0.18.0 0.18.0 GHSA-65v8-q222-64xx

References