l2tp: pass correct message length to ip6_append_data (Linux Linux)

CVE-2024-26752
MEDIUM 5.5

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

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 559d697c5d072593d22b3e0bd8b8081108aeaf59 < 4c3ce64bc9d36ca9164dd6c77ff144c121011aae ; affected 1fc793d68d50dee4782ef2e808913d5dd880bcc6 < c1d3a84a67db910ce28a871273c992c3d7f9efb5 ; affected 96b2e1090397217839fcd6c9b6d8f5d439e705ed < dcb4d14268595065c85dc5528056713928e17243 ; affected cd1189956393bf850b2e275e37411855d3bd86bb < 0da15a70395182ee8cb75716baf00dddc0bea38d ; affected f6a7182179c0ed788e3755ee2ed18c888ddcc33f < 13cd1daeea848614e585b2c6ecc11ca9c8ab2500 ; affected 9d4c75800f61e5d75c1659ba201b6c0c7ead3070 < 804bd8650a3a2bf3432375f8c97d5049d845ce56
Linux · Linuxaffected 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

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD