l2tp: pass correct message length to ip6_append_data (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.25 % · percentile 17 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Analyzed
Description
In the Linux kernel, the following vulnerability has been resolved: l2tp: pass correct message length to ip6_append_data l2tp_ip6_sendmsg needs to avoid accounting for the transport header twice when splicing more data into an already partially-occupied skbuff. To manage this, we check whether the skbuff contains data using skb_queue_empty when deciding how much data to append using ip6_append_data. However, the code which performed the calculation was incorrect: ulen = len + skb_queue_empty(&sk->sk_write_queue) ? transhdrlen : 0; ...due to C operator precedence, this ends up setting ulen to transhdrlen for messages with a non-zero length, which results in corrupted packets on the wire. Add parentheses to correct the calculation in line with the original intent.
Weaknesses (CWE)
- CWE-131 — Incorrect Calculation of Buffer Size
References
- https://git.kernel.org/stable/c/4c3ce64bc9d36ca9164dd6c77ff144c121011aae
- https://git.kernel.org/stable/c/c1d3a84a67db910ce28a871273c992c3d7f9efb5
- https://git.kernel.org/stable/c/dcb4d14268595065c85dc5528056713928e17243
- https://git.kernel.org/stable/c/0da15a70395182ee8cb75716baf00dddc0bea38d
- https://git.kernel.org/stable/c/13cd1daeea848614e585b2c6ecc11ca9c8ab2500
- https://git.kernel.org/stable/c/804bd8650a3a2bf3432375f8c97d5049d845ce56
- https://git.kernel.org/stable/c/83340c66b498e49353530e41542500fc8a4782d6
- https://git.kernel.org/stable/c/359e54a93ab43d32ee1bff3c2f9f10cb9f6b6e79
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2024-24014
- GCVE · GCVE-0-2024-26752
CERT-FR advisories
- CERTFR-2025-AVI-0677 — Multiples vulnérabilités dans les produits Siemens · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0645 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0580 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0546 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0527 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0526 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0496 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0381 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0334 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.19.296 < 4.19.308cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.4.258 < 5.4.270cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.10.198 < 5.10.211cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.15.135 < 5.15.150cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.1.57 < 6.1.80cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.6 < 6.6.19cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.7 < 6.7.7cpe:2.3:o:linux:linux_kernel:4.14.327:*:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.5.7:*:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 559d697c5d072593d22b3e0bd8b8081108aeaf59 < 4c3ce64bc9d36ca9164dd6c77ff144c121011aae ; affected 1fc793d68d50dee4782ef2e808913d5dd880bcc6 < c1d3a84a67db910ce28a871273c992c3d7f9efb5 ; affected 96b2e1090397217839fcd6c9b6d8f5d439e705ed < dcb4d14268595065c85dc5528056713928e17243 ; affected cd1189956393bf850b2e275e37411855d3bd86bb < 0da15a70395182ee8cb75716baf00dddc0bea38d ; affected f6a7182179c0ed788e3755ee2ed18c888ddcc33f < 13cd1daeea848614e585b2c6ecc11ca9c8ab2500 ; affected 9d4c75800f61e5d75c1659ba201b6c0c7ead3070 < 804bd8650a3a2bf3432375f8c97d5049d845ce56 |
| Linux · Linux | affected 6.6 ; unaffected 0 < 6.6 ; unaffected 4.19.308 ≤ 4.19.* ; unaffected 5.4.270 ≤ 5.4.* ; unaffected 5.10.211 ≤ 5.10.* ; unaffected 5.15.150 ≤ 5.15.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |