CVE-2024-44989CWE-476

CVE-2024-44989

Medium · published September 5, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
14.4
In the wild
Unconfirmed
What it is

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

bonding: fix xfrm real_dev null pointer dereference

We shouldn't set real_dev to NULL because packets can be in transit and

xfrm might call xdo_dev_offload_ok() in parallel. All callbacks assume

real_dev is set.

Example trace:

kernel: BUG: unable to handle page fault for address: 0000000000001030

kernel: bond0: (slave eni0np1): making interface the new active one

kernel: #PF: supervisor write access in kernel mode

kernel: #PF: error_code(0x0002) - not-present page

kernel: PGD 0 P4D 0

kernel: Oops: 0002 [#1] PREEMPT SMP

kernel: CPU: 4 PID: 2237 Comm: ping Not tainted 6.7.7+ #12

kernel: Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014

kernel: RIP: 0010:nsim_ipsec_offload_ok+0xc/0x20 [netdevsim]

kernel: bond0: (slave eni0np1): bond_ipsec_add_sa_all: failed to add SA

kernel: Code: e0 0f 0b 48 83 7f 38 00 74 de 0f 0b 48 8b 47 08 48 8b 37 48 8b 78 40 e9 b2 e5 9a d7 66 90 0f 1f 44 00 00 48 8b 86 80 02 00 00 <83> 80 30 10 00 00 01 b8 01 00 00 00 c3 0f 1f 80 00 00 00 00 0f 1f

kernel: bond0: (slave eni0np1): making interface the new active one

kernel: RSP: 0018:ffffabde81553b98 EFLAGS: 00010246

kernel: bond0: (slave eni0np1): bond_ipsec_add_sa_all: failed to add SA

kernel:

kernel: RAX: 0000000000000000 RBX: ffff9eb404e74900 RCX: ffff9eb403d97c60

kernel: RDX: ffffffffc090de10 RSI: ffff9eb404e74900 RDI: ffff9eb3c5de9e00

kernel: RBP: ffff9eb3c0a42000 R08: 0000000000000010 R09: 0000000000000014

kernel: R10: 7974203030303030 R11: 3030303030303030 R12: 0000000000000000

kernel: R13: ffff9eb3c5de9e00 R14: ffffabde81553cc8 R15: ffff9eb404c53000

kernel: FS: 00007f2a77a3ad00(0000) GS:ffff9eb43bd00000(0000) knlGS:0000000000000000

kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

kernel: CR2: 0000000000001030 CR3: 00000001122ab000 CR4: 0000000000350ef0

kernel: bond0: (slave eni0np1): making interface the new active one

kernel: Call Trace:

kernel: <TASK>

kernel: ? __die+0x1f/0x60

kernel: bond0: (slave eni0np1): bond_ipsec_add_sa_all: failed to add SA

kernel: ? page_fault_oops+0x142/0x4c0

kernel: ? do_user_addr_fault+0x65/0x670

kernel: ? kvm_read_and_reset_apf_flags+0x3b/0x50

kernel: bond0: (slave eni0np1): making interface the new active one

kernel: ? exc_page_fault+0x7b/0x180

kernel: ? asm_exc_page_fault+0x22/0x30

kernel: ? nsim_bpf_uninit+0x50/0x50 [netdevsim]

kernel: bond0: (slave eni0np1): bond_ipsec_add_sa_all: failed to add SA

kernel: ? nsim_ipsec_offload_ok+0xc/0x20 [netdevsim]

kernel: bond0: (slave eni0np1): making interface the new active one

kernel: bond_ipsec_offload_ok+0x7b/0x90 [bonding]

kernel: xfrm_output+0x61/0x3b0

kernel: bond0: (slave eni0np1): bond_ipsec_add_sa_all: failed to add SA

kernel: ip_push_pending_frames+0x56/0x80

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00241 · 14.4th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2024-09-05T00:15Z
Affected products (9)
ProductVersionsFixed in
linux/linux_kernel≥ 5.9, < 5.10.2255.10.225
linux/linux_kernel≥ 5.11, < 5.15.1665.15.166
linux/linux_kernel≥ 5.16, < 6.1.1076.1.107
linux/linux_kernel≥ 6.2, < 6.6.486.6.48
linux/linux_kernel≥ 6.7, < 6.10.76.10.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 04 SEP 19:54Z
    bonding: fix xfrm real_dev null pointer dereference
    cvelistv5