netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one (Linux Linux)

CVE-2023-53333
HIGH 8.2

At a glance

Source
NVD
EPSS
EPSS 0.28 % · percentile 21 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one Eric Dumazet says: nf_conntrack_dccp_packet() has an unique: dh = skb_header_pointer(skb, dataoff, sizeof(_dh), &_dh); And nothing more is 'pulled' from the packet, depending on the content. dh->dccph_doff, and/or dh->dccph_x ...) So dccp_ack_seq() is happily reading stuff past the _dh buffer. BUG: KASAN: stack-out-of-bounds in nf_conntrack_dccp_packet+0x1134/0x11c0 Read of size 4 at addr ffff000128f66e0c by task syz-executor.2/29371 [..] Fix this by increasing the stack buffer to also include room for the extra sequence numbers and all the known dccp packet type headers, then pull again after the initial validation of the basic header. While at it, mark packets invalid that lack 48bit sequence bit but where RFC says the type MUST use them. Compile tested only. v2: first skb_header_pointer() now needs to adjust the size to only pull the generic header. (Eric) Heads-up: I intend to remove dccp conntrack support later this year.

Weaknesses (CWE)

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 8.2CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:HLinux
CVSS 3.1HIGH 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HCISA-ADP
CVSS 3.1HIGH 8.2CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)
CVSS 3.1HIGH 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HNVD · nvd@nist.gov (Primary)
CVSS 3.1HIGH 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HNVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 2bc780499aa33311ec0f3e42624dfaa7be0ade5e < 337fdce450637ea663bc816edc2ba81e5cdad02e ; affected 2bc780499aa33311ec0f3e42624dfaa7be0ade5e < 9bdcda7abaf22f6453e5b5efb7eb4e524095d5d8 ; affected 2bc780499aa33311ec0f3e42624dfaa7be0ade5e < c052797ac36813419ad3bfa54cb8615db4b41f15 ; affected 2bc780499aa33311ec0f3e42624dfaa7be0ade5e < 5c618daa5038712c4a4ef8923905a2ea1b8836a1 ; affected 2bc780499aa33311ec0f3e42624dfaa7be0ade5e < 26bd1f210d3783a691052c51d76bb8a8bbd24c67 ; affected 2bc780499aa33311ec0f3e42624dfaa7be0ade5e < 8c0980493beed3a80d6329c44ab293dc8c032927
Linux · Linuxaffected 2.6.26 ; unaffected 0 < 2.6.26 ; unaffected 5.4.251 ≤ 5.4.* ; unaffected 5.10.188 ≤ 5.10.* ; unaffected 5.15.121 ≤ 5.15.* ; unaffected 6.1.39 ≤ 6.1.*

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