CVE-2024-27414

CVE-2024-27414

High · published May 17, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
13.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back

In the commit d73ef2d69c0d ("rtnetlink: let rtnl_bridge_setlink checks

IFLA_BRIDGE_MODE length"), an adjustment was made to the old loop logic

in the function `rtnl_bridge_setlink` to enable the loop to also check

the length of the IFLA_BRIDGE_MODE attribute. However, this adjustment

removed the `break` statement and led to an error logic of the flags

writing back at the end of this function.

if (have_flags)

memcpy(nla_data(attr), &flags, sizeof(flags));

// attr should point to IFLA_BRIDGE_FLAGS NLA !!!

Before the mentioned commit, the `attr` is granted to be IFLA_BRIDGE_FLAGS.

However, this is not necessarily true fow now as the updated loop will let

the attr point to the last NLA, even an invalid NLA which could cause

overflow writes.

This patch introduces a new variable `br_flag` to save the NLA pointer

that points to IFLA_BRIDGE_FLAGS and uses it to resolve the mentioned

error logic.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00234 · 13.5th percentile
Published
2024-05-17T16:15Z
Affected products (18)
ProductVersionsFixed in
linux/linux_kernel≥ 5.4.253, < 5.4.2715.4.271
linux/linux_kernel≥ 5.10.190, < 5.10.2125.10.212
linux/linux_kernel≥ 5.15.126, < 5.15.1515.15.151
linux/linux_kernel≥ 6.1.45, < 6.1.816.1.81
linux/linux_kernel≥ 6.4.10, < 6.56.5
linux/linux_kernel≥ 6.5.1, < 6.6.216.6.21
linux/linux_kernel≥ 6.7, < 6.7.96.7.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (15)
https://git.kernel.org/stable/c/167d8642daa6a44b51de17f8ff0f584e1e762db7 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/743ad091fb46e622f1b690385bb15e3cd3daf874 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/831bc2728fb48a8957a824cba8c264b30dca1425 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/882a51a10ecf24ce135d573afa0872aef02c5125 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a1227b27fcccc99dc44f912b479e01a17e2d7d31 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/b9fbc44159dfc3e9a7073032752d9e03f5194a6f · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/f2261eb994aa5757c1da046b78e3229a3ece0ad9 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/167d8642daa6a44b51de17f8ff0f584e1e762db7 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/743ad091fb46e622f1b690385bb15e3cd3daf874 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/831bc2728fb48a8957a824cba8c264b30dca1425 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/882a51a10ecf24ce135d573afa0872aef02c5125 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a1227b27fcccc99dc44f912b479e01a17e2d7d31 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/b9fbc44159dfc3e9a7073032752d9e03f5194a6f · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/f2261eb994aa5757c1da046b78e3229a3ece0ad9 · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html · af854a3a-2127-422b-91ae-364da2661108
EPSS history
Timeline
  • 17 MAY 11:50Z
    rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
    cvelistv5