CVE-2023-53618

Vulnérabilité non évaluée dans Linux (Linux)

CVSS 0.0 · Non évaluée
EPSS 0.2%
Linux•Linux•Versions : <=6.1.*, fba904d68c8bbfcc89c2210cfcb2351be90bc3e5, 5.4, <3ae93b316ca4b8b3c33798ef1d210355f2fb9318, 259ee7754b6793af8bdd77f9ca818bc41cfe9541, 0, 6.1.46, 6.5, <314135b7bae9618a317874ae195272682cf2d5d4, <84256e00eeca73c529fc6196e478cc89b8098157, 5.3.4, 5.2.19, 3d95c52d789ca99e344061d7f6dadb2519adbcf5, <5.3, 6.4.11, <5.4, <=*, <=5.15.*, <6ebcd021c92b8e4b904552e4d87283032100796d, 5.15.127, <=6.4.*

Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: reject invalid reloc tree root keys with stack dump [BUG] Syzbot reported a crash that an ASSERT() got triggered inside prepare_to_merge(). That ASSERT() makes sure the reloc tree is properly pointed back by its subvolume tree. [CAUSE] After more debugging output, it turns out we had an invalid reloc tree: BTRFS error (device loop1): reloc tree mismatch, root 8 has no reloc root, expect reloc root key (-8, 132, 8) gen 17 Note the above root key is (TREE_RELOC_OBJECTID, ROOT_ITEM, QUOTA_TREE_OBJECTID), meaning it's a reloc tree for quota tree. But reloc trees can only exist for subvolumes, as for non-subvolume trees, we just COW the involved tree block, no need to create a reloc tree since those tree blocks won't be shared with other trees. Only subvolumes tree can share tree blocks with other trees (thus they have BTRFS_ROOT_SHAREABLE flag). Thus this new debug output proves my previous assumption that corrupted on-disk data can trigger that ASSERT(). [FIX] Besides the dedicated fix and the graceful exit, also let tree-checker to check such root keys, to make sure reloc trees can only exist for subvolumes.

Gravité et risque d'exploitation

CVE-2023-53618 obtient un score CVSS de 0.0/10, soit une gravité non évaluée. Selon le modèle EPSS, la probabilité qu'elle soit exploitée dans les 30 prochains jours est de 0.20 %, ce qui la place devant 8.9 % des CVE référencées.

Que faire ?

  • Vérifiez si Linux (versions <=6.1.*, fba904d68c8bbfcc89c2210cfcb2351be90bc3e5, 5.4, <3ae93b316ca4b8b3c33798ef1d210355f2fb9318, 259ee7754b6793af8bdd77f9ca818bc41cfe9541, 0, 6.1.46, 6.5, <314135b7bae9618a317874ae195272682cf2d5d4, <84256e00eeca73c529fc6196e478cc89b8098157, 5.3.4, 5.2.19, 3d95c52d789ca99e344061d7f6dadb2519adbcf5, <5.3, 6.4.11, <5.4, <=*, <=5.15.*, <6ebcd021c92b8e4b904552e4d87283032100796d, 5.15.127, <=6.4.*) est présent sur votre parc.
  • Appliquez le correctif ou la version corrigée indiqués dans les références de l'éditeur.
  • À défaut de correctif, limitez l'exposition (filtrage réseau, désactivation du composant).
  • Automatisez la détection : les agents CVE Heimdall (gratuits, open source) corrèlent l'inventaire de vos serveurs avec la base CVE.

Références