In the Linux kernel, the following vulnerability has been resolved:
netlink: add nla be16/32 types to minlen array
BUG: KMSAN: uninit-value in nlavalidaterangeunsigned lib/nlattr.c:222 [inline] BUG: KMSAN: uninit-value in nlavalidateintrange lib/nlattr.c:336 [inline] BUG: KMSAN: uninit-value in validatenla lib/nlattr.c:575 [inline] BUG: KMSAN: uninit-value in _nlavalidateparse+0x2e20/0x45c0 lib/nlattr.c:631 nlavalidaterangeunsigned lib/nlattr.c:222 [inline] nlavalidateintrange lib/nlattr.c:336 [inline] validate_nla lib/nlattr.c:575 [inline] ...
The message in question matches this policy:
[NFTATARGETREV] = NLAPOLICYMAX(NLA_BE32, 255),
but because NLA_BE32 size in minlen array is 0, the validation code will read past the malformed (too small) attribute.
Note: Other attributes, e.g. BITFIELD32, SINT, UINT.. are also missing: those likely should be added too.
{ "vanir_signatures": [ { "deprecated": false, "signature_type": "Line", "target": { "file": "lib/nlattr.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "331058746734565459999244690531796992902", "318285714919242653374287663304496445382", "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "209904188489997493294132440546746591736", "80160407879171712255671105031312110991" ], "threshold": 0.9 }, "id": "CVE-2024-26849-4bde13d1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7a9d14c63b35f89563c5ecbadf918ad64979712d" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "lib/nlattr.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "331058746734565459999244690531796992902", "318285714919242653374287663304496445382", "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "209904188489997493294132440546746591736", "80160407879171712255671105031312110991" ], "threshold": 0.9 }, "id": "CVE-2024-26849-512b2469", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ac219c4c3ab253f3981f346903458d20bacab32" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "lib/nlattr.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "331058746734565459999244690531796992902", "318285714919242653374287663304496445382", "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "209904188489997493294132440546746591736", "80160407879171712255671105031312110991" ], "threshold": 0.9 }, "id": "CVE-2024-26849-6527aa65", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9a0d18853c280f6a0ee99f91619f2442a17a323a" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "lib/nlattr.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "331058746734565459999244690531796992902", "318285714919242653374287663304496445382", "217693345133600860102915590671504469573", "271352317972224571277163553055990540065", "209904188489997493294132440546746591736", "80160407879171712255671105031312110991" ], "threshold": 0.9 }, "id": "CVE-2024-26849-7ffb6742", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2ab028151841cd833cb53eb99427e0cc990112d" } ] }