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.
Metrics
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| tmatens | compose-lint | >= 0.9.0, < 0.18.0 |
References
- https://github.com/tmatens/compose-lint/commit/c9d453a6a69c076788fe1db05cb54684a616d1de
- https://github.com/tmatens/compose-lint/commit/cbbf886d91347dea9c51b584eb50088e70007d0d
- https://github.com/tmatens/compose-lint/pull/547
- https://github.com/tmatens/compose-lint/pull/549
- https://github.com/tmatens/compose-lint/releases/tag/v0.18.0
- https://github.com/tmatens/compose-lint/security/advisories/GHSA-65v8-q222-64xx
Timeline
- Published
- Nov 9, 2026
- Last modified
- Nov 12, 2026
- NVD status
- Deferred