> CVE-2026-15923 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-09-14 17:17
MODIFIED
2026-09-14 17:17
CVSS_SCORE V3
4.6
EPSS (Prob. Exploit)
0.17%
Top 94.5%
DATA SOURCES:
NVD đź”— 2026-09-14 CWE MITRE đź”— 2026-10-01 FIRST EPSS đź”— 2026-10-18 OSV đź”— 2026-10-26

> DESCRIPTION

The Zephyr SDIO subsystem function sdio_io_rw_extended_helper() in subsys/sd/sdio.c finishes transfers with a byte-I/O loop that uses size = MIN(remaining, func->cis.max_blk_size) as the per-iteration step. The value func->cis.max_blk_size is decoded directly from the SDIO card's CIS FUNCE tuple in sdio_decode_cis() and is not validated. When a card reports a maximum block size of zero, size is always 0, remaining never decreases, and the loop spins forever. The loop is reached from the public SDIO client API used by drivers, including sdio_read_fifo(), sdio_write_fifo(), and the incrementing register read/write helpers, each of which enters the loop while holding the per-card mutex func->card->lock. A card advertising max_blk_size == 0 therefore hangs the calling thread permanently on its first non-block-aligned transfer and never releases the mutex, denying service to the SDIO peripheral (and any subsystem such as Wi-Fi that depends on it) until the device is reset. The malicious value must come from the SDIO card itself, so the defect is exploitable where a removable SDIO/combo card slot lets an attacker insert a crafted or malfunctioning card (a physical attack vector); on boards with a soldered SDIO peripheral it is not attacker-influenceable. There is no memory-safety, confidentiality, or integrity impact — only a permanent availability loss. The fix returns -EIO when func->cis.max_blk_size is zero, before the loop is entered.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EXPLOITABILITY
0.9
IMPACT
3.6

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Physical (P)
Exploit nécessite un accès physique à l'appareil
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
High (H)
Interruption totale du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
High
Interruption totale du service possible

> WEAKNESSES

CWE-835

> CWE DETAILED DESCRIPTIONS

CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') - The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Infinite loop denial of service in Zephyr SDIO byte-I/O from a card-supplied zero max_blk_size

AFFECTED PACKAGES:
Unknown / Unknown
28 versions affected
ALIASES:
GHSA-4pvm-wrcp-jjf5

> HISTORIQUE DES MODIFICATIONS

Première apparition
14/09/2026 17:17
Source: NVD
📊 ENRICHISSEMENT 01/10/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') - The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.
Total des modifications: 1 Dernière mise à jour: 3 weeks ago

> REFERENCES

https://github.com/zephyrproject-rtos/zephyr/commit/3b2f7aaee1f2ca52904c7e7f0289...
https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-4pvm-wrcp-...
« BACK_TO_HOME