CVE-2025-71194

Linux kernel (Azure) vulnerabilities

Beschreibung

Im Linux-Kernel wurde folgende Schwachstelle behoben:

btrfs: Behebung eines Deadlocks in wait_current_trans() aufgrund ignorierten Transaktions-Typs

Wenn wait_current_trans() während start_transaction() aufgerufen wird, wartet es derzeit auf eine blockierte Transaktion ohne zu prüfen, ob der gegebene Transaktions-Typ tatsächlich für diesen bestimmten Transaktions-Zustand warten muss. Das Array btrfs_blocked_trans_types[] definiert bereits, welche Transaktions-Typen für welche Transaktions-Zustände warten sollten, aber diese Überprüfung fehlte in wait_current_trans().

Dies kann zu einem Deadlock-Szenario führen, das zwei Transaktionen und ausstehende geordnete Extents umfasst:

  1. Transaktion A befindet sich im Zustand TRANS_STATE_COMMIT_DOING
  2. Ein Worker verarbeitet ein geordnetes Extent und ruft start_transaction() mit TRANS_JOIN auf
  3. join_transaction() gibt -EBUSY zurück, weil Transaktion A im Zustand TRANS_STATE_COMMIT_DOING ist
  4. Transaktion A wechselt in den Zustand TRANS_STATE_UNBLOCKED und wird abgeschlossen
  5. Eine neue Transaktion B wird erstellt (TRANS_STATE_RUNNING)
  6. Das geordnete Extent aus Schritt 2 wird zu den ausstehenden geordneten Extents von Transaktion B hinzugefügt
  7. Transaktion B beginnt sofort mit dem Commit durch eine andere Aufgabe und wechselt in TRANS_STATE_COMMIT_START
  8. Der Worker erreicht schließlich wait_current_trans(), sieht Transaktion B im Zustand TRANS_STATE_COMMIT_START (ein blockierter Zustand) und wartet unbedingt
  9. TRANS_JOIN sollte jedoch NICHT auf TRANS_STATE_COMMIT_START warten, gemäß btrfs_blocked_trans_types[]
  10. Transaktion B wartet auf die Fertigstellung der ausstehenden geordneten Extents
  11. Deadlock: Transaktion B wartet auf das geordnete Extent, das geordnete Extent wartet auf Transaktion B

Dies kann durch die folgenden Aufrufstapel veranschaulicht werden: CPU0 CPU1 btrfs_finish_ordered_io() start_transaction(TRANS_JOIN) join_transaction() # -EBUSY (Transaktion A ist # TRANS_STATE_COMMIT_DOING)

Transaktion A wird abgeschlossen

Transaktion B wird erstellt

geordnetes Extent wird zu

den ausstehenden von Transaktion B hinzugefügt

btrfs_commit_transaction() # Transaktion B wechselt in # TRANS_STATE_COMMIT_START # wartet auf die ausstehenden geordneten # Extents wait_current_trans() # wartet auf Transaktion B # (sollte nicht warten!)

Aufgabe bstore_kv_sync in btrfs_commit_transaction wartet auf geordnete Extents:

__schedule+0x2e7/0x8a0 schedule+0x64/0xe0 btrfs_commit_transaction+0xbf7/0xda0 [btrfs] btrfs_sync_file+0x342/0x4d0 [btrfs] __x64_sys_fdatasync+0x4b/0x80 do_syscall_64+0x33/0x40 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Aufgabe kworker in wait_current_trans wartet auf Transaktions-Commit:

Workqueue: btrfs-syno_nocow btrfs_work_helper [btrfs] __schedule+0x2e7/0x8a0 schedule+0x64/0xe0 wait_current_trans+0xb0/0x110 [btrfs] start_transaction+0x346/0x5b0 [btrfs] btrfs_finish_ordered_io.isra.0+0x49b/0x9c0 [btrfs] btrfs_work_helper+0xe8/0x350 [btrfs] process_one_work+0x1d3/0x3c0 worker_thread+0x4d/0x3e0 kthread+0x12d/0x150 ret_from_fork+0x1f/0x30

Dies wird behoben, indem der Transaktions-Typ an wait_current_trans() übergeben und btrfs_blocked_trans_types[cur_trans->state] gegen den gegebenen Typ überprüft wird, bevor entschieden wird zu warten. Dadurch wird sichergestellt, dass Transaktions-Typen, die während bestimmter blockierter Zustände beitreten dürfen, nicht unnötig warten und Deadlocks verursachen.

Metriken

Severity
none
kein öffentlicher PoC bekannt
7.6 %
Niedrig — CVE gehört zu den unteren 10 % der heute bewerteten CVEs.
0.2 %
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-2025-71194