CVE-2026-22977

Linux kernel (Azure) vulnerabilities

Beschreibung

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net: sock: Behebung eines Hardened Usercopy-Ausfalls in sock_recv_errqueue

skbuff_fclone_cache wurde ohne Definition einer Usercopy-Region erstellt, [1] im Gegensatz zu skbuff_head_cache, das den cb[]-Feld korrekt als Whitelist definiert. [2] Dies führt bei aktiviertem CONFIG_HARDENED_USERCOPY und Versuch des Kernels, sk_buff.cb-Daten an den Benutzerbereich über sock_recv_errqueue() -> put_cmsg() zu kopieren, zu einem Usercopy BUG().

Der Absturz tritt auf, wenn: 1. TCP ein skb mit alloc_skb_fclone() (aus skbuff_fclone_cache) [1] allokiert 2. Das skb mit skb_clone() geklont wird, unter Verwendung des vorab allozierten fclone [3] 3. Das geklonte skb in die sk_error_queue für Zeitstempelberichterstattung eingereiht wird 4. Der Benutzerbereich die Fehlerwarteschlange über recvmsg(MSG_ERRQUEUE) liest 5. sock_recv_errqueue() put_cmsg() aufruft, um serr->ee aus skb->cb [4] zu kopieren 6. __check_heap_object() fehlschlägt, weil skbuff_fclone_cache keine Usercopy-Whitelist hat [5]

Wenn geklonte skbs, die von skbuff_fclone_cache allokiert wurden, in der Socket-Fehlerwarteschlange verwendet werden, löst der Zugriff auf die sock_exterr_skb-Struktur in skb->cb über put_cmsg() eine Verletzung des Hardened Usercopy aus:

[ 5.379589] usercopy: Versuch einer Kernel-Speicherexposition von SLUB-Objekt 'skbuff_fclone_cache' (Offset 296, Größe 16) erkannt! [ 5.382796] kernel BUG bei mm/usercopy.c:102! [ 5.383923] Oops: ungültiger Opcode: 0000 [#1] SMP KASAN NOPTI [ 5.384903] CPU: 1 UID: 0 PID: 138 Comm: poc_put_cmsg Nicht betroffen 6.12.57 #7 [ 5.384903] Hardwarename: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 5.384903] RIP: 0010:usercopy_abort+0x6c/0x80 [ 5.384903] Code: 1a 86 51 48 c7 c2 40 15 1a 86 41 52 48 c7 c7 c0 15 1a 86 48 0f 45 d6 48 c7 c6 80 15 1a 86 48 89 c1 49 0f 45 f3 e8 84 27 88 ff <0f> 0b 490 [ 5.384903] RSP: 0018:ffffc900006f77a8 EFLAGS: 00010246 [ 5.384903] RAX: 000000000000006f RBX: ffff88800f0ad2a8 RCX: 1ffffffff0f72e74 [ 5.384903] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffffff87b973a0 [ 5.384903] RBP: 0000000000000010 R08: 0000000000000000 R09: fffffbfff0f72e74 [ 5.384903] R10: 0000000000000003 R11: 79706f6372657375 R12: 0000000000000001 [ 5.384903] R13: ffff88800f0ad2b8 R14: ffffea00003c2b40 R15: ffffea00003c2b00 [ 5.384903] FS: 0000000011bc4380(0000) GS:ffff8880bf100000(0000) knlGS:0000000000000000 [ 5.384903] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 5.384903] CR2: 000056aa3b8e5fe4 CR3: 000000000ea26004 CR4: 0000000000770ef0 [ 5.384903] PKRU: 55555554 [ 5.384903] Aufrufverfolgung: [ 5.384903] [ 5.384903] __check_heap_object+0x9a/0xd0 [ 5.384903] __check_object_size+0x46c/0x690 [ 5.384903] put_cmsg+0x129/0x5e0 [ 5.384903] sock_recv_errqueue+0x22f/0x380 [ 5.384903] tls_sw_recvmsg+0x7ed/0x1960 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 [ 5.384903] ? schedule+0x6d/0x270 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 [ 5.384903] ? mutex_unlock+0x81/0xd0 [ 5.384903] ? __pfx_mutex_unlock+0x10/0x10 [ 5.384903] ? __pfx_tls_sw_recvmsg+0x10/0x10 [ 5.384903] ? _raw_spin_lock_irqsave+0x8f/0xf0 [ 5.384903] ? _raw_read_unlock_irqrestore+0x20/0x40 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5

Der Absturz-Offset 296 entspricht skb2->cb innerhalb von skbuff_fclones:

  • sizeof(struct sk_buff) = 232 - offsetof(struct sk_buff, cb) = 40 -
  • Offset von skb2.cb in fclones = 232 + 40 = 272 - Absturz-Offset 296 =
  • 272 + 24 (innerhalb sock_exterr_skb.ee)

Dieses Patch verwendet eine lokale Stapelvariable als Puffer zur Vermeidung des Hardened Usercopy Check-Fehlers.

[1] https://elixir.bootlin.com/linux/v6.12.62/source/net/ipv4/tcp.c#L885 [2] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5104 [3] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5566 [4] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5491 [5] https://elixir.bootlin.com/linux/v6.12.62/source/mm/slub.c#L5719

Metriken

Severity
medium
kein öffentlicher PoC bekannt
5.5
Quelle: nvd-v3
3.1 %
Niedrig — CVE gehört zu den unteren 10 % der heute bewerteten CVEs.
0.1 %
Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Veröffentlicht
2026-06-16 22:30 UTC

Betroffene Betriebssysteme

  • linux

    amazon / amazon_linux

  • linux

    ubuntu / awsbionic

  • linux

    ubuntu / awsjammy

  • linux

    ubuntu / awsnoble

  • linux

    ubuntu / awsresolute

  • linux

    ubuntu / awsxenial

  • linux

    ubuntu / aws-6.8jammy

  • linux

    ubuntu / aws-hwexenial

  • linux

    ubuntu / azurejammy

  • linux

    ubuntu / azurenoble

  • linux

    ubuntu / azureresolute

  • linux

    ubuntu / azurexenial

  • linux

    ubuntu / azure-4.15bionic

  • linux

    suse / basesystem_module15

  • linux

    debian / debian_linux11.0

  • linux

    debian / debian_linux12.0

  • linux

    debian / debian_linux13.0

  • linux

    suse / development_tools_module15

  • linux

    redhat / enterprise_linux10.0

  • linux

    redhat / enterprise_linux8.0

  • linux

    redhat / enterprise_linux9.0

  • linux

    redhat / enterprise_linux_aus8.4

  • linux

    redhat / enterprise_linux_aus8.6

  • linux

    redhat / enterprise_linux_eus10.0

Betroffene Produkte

Aus der Hersteller-/CERT-Meldung extrahierte Produkte und Versionsbereiche. Ein Version-Range wie „<4.14.6“ impliziert die Update-Empfehlung „auf 4.14.6 oder höher aktualisieren“.

  • arista

    cloudvision_agni2024.4.0 – 2025.2.2

  • arista

    cloudvision_portal2024.2.0 – 2026.1.0

  • arista

    velocloud_edge4.5.0 – 6.4.1

  • arista

    velocloud_gateway

  • arista

    velocloud_orchestrator

  • IBM

    QRadar SIEM<7.5.0 UP15 IF06

  • redhat

    openshift_container_platform4.12 – 4.12.89

  • redhat

    openshift_container_platform4.13 – 4.13.66

  • redhat

    openshift_container_platform4.14 – 4.14.65

  • redhat

    openshift_container_platform4.15 – 4.15.64

  • redhat

    openshift_container_platform4.16 – 4.16.61

  • redhat

    openshift_container_platform4.17 – 4.17.53

  • redhat

    openshift_container_platform4.18 – 4.18.40

  • redhat

    openshift_container_platform4.19 – 4.19.30

  • redhat

    openshift_container_platform4.20 – 4.20.21

  • redhat

    openshift_container_platform4.21 – 4.21.14

  • redhat

    openshift_container_platform

  • siemens

    simatic_ax_runtime

  • suse

    caas_platform

  • suse

    enterprise_storage

  • suse

    manager_proxy

  • suse

    manager_retail_branch_server

  • suse

    manager_server

  • suse

    openstack_cloud

Quellen & Referenzen

Verknüpfte CVEs

368 weitere CVEs anzeigen
IDCVE-2026-22977