CVE-2026-123370 json
compose-lint: `fix --apply` can delete a line the user did not select, including a security setting
published 6h ago modified 5h ago also EUVD-2026-120127
- cvss
- 5.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no EPSS score yet
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- github.com/tmatens/compose-lint@c9d453a commit
- github.com/tmatens/compose-lint@cbbf886 commit
- github.com/tmatens/compose-lint#547 pull request
- github.com/tmatens/compose-lint#549 pull request
- github.com/tmatens/compose-lint/releases/tag/v0.18.0 release
Is CVE-2026-123370 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | 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 |
| CNA | 4.0 | 5.1 | 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:X |
Affected products
- tmatens compose-lint
Classification
- Weakness
-
- CWE-193 Off-by-one Error
References
- 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/security/advisories/GHSA-65v8-q222-64xx
- github.com /tmatens/compose-lint/releases/tag/v0.18.0
Sources
- CVE List CVE-2026-123370
- NVD CVE-2026-123370
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.