FKIE_CVE-2026-10668
Vulnerability from fkie_nvd - Published: 2026-07-12 17:16 - Updated: 2026-10-24 22:104.6 (Medium) - CVSS:3.1/
| Vendor | Product | Version | |
|---|---|---|---|
| zephyrproject | zephyr | * |
{
"affected": [
{
"affectedData": [
{
"collectionURL": "https://github.com/zephyrproject-rtos/zephyr",
"defaultStatus": "unaffected",
"packageName": "zephyr",
"product": "zephyr",
"programFiles": [
"drivers/usb/udc/Kconfig.numaker",
"drivers/usb/udc/udc_numaker.c",
"drivers/usb/udc/udc_numaker.h"
],
"vendor": "zephyrproject",
"versions": [
{
"lessThan": "4.4.2",
"status": "affected",
"version": "4.4.0",
"versionType": "semver"
}
]
}
],
"source": "vulnerabilities@zephyrproject.org"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:zephyrproject:zephyr:*:*:*:*:*:*:*:*",
"matchCriteriaId": "BF44F4FC-9EF2-4562-ACEB-2BE5AE165E9C",
"versionEndIncluding": "4.4.1",
"versionStartIncluding": "4.4.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "The Nuvoton NuMaker HSUSBD USB device-controller driver (drivers/usb/udc/udc_numaker.c) armed the control Data IN stage unconditionally (base-\u003eCEPTXCNT = len in numaker_hsusbd_ep_trigger). Because the HSUSBD hardware cannot disarm a control Data IN already armed for a previous transfer, a USB host that cancels an in-flight control transfer (timeout) and then issues a new SETUP packet can drive the driver out of sync: stale data may be transmitted in the new transfer and the control endpoint can become permanently stuck NAK\u0027ing every subsequent control transfer.\n\nA malicious or buggy host (physical/adjacent attacker driving the bus) can repeatedly cancel-and-re-SETUP to wedge the device\u0027s USB control endpoint, denying service to the device\u0027s USB function (the device stops enumerating/responding on the control pipe) until a USB reset or re-plug. The flaw is an availability-only denial of service; the FIFO copy loops (bounded by net_buf length and the hardware BUFFULL flag) and the net_buf lifecycle are independent of the arming desync, so there is no out-of-bounds access, use-after-free, or information leak.\n\nThe fix monitors the IN-token and new-SETUP events (k_event) and only arms control Data IN when an IN token is present and no new SETUP has arrived, cancelling the current transfer on a new SETUP. Affects boards using the Nuvoton NuMaker HSUSBD controller (CONFIG_UDC_NUMAKER with DT_HAS_NUVOTON_NUMAKER_HSUSBD_ENABLED); shipped in v4.4.0."
},
{
"lang": "es",
"value": "El controlador de dispositivo USB Nuvoton NuMaker HSUSBD (drivers/usb/udc/udc_numaker.c) arm\u00f3 la etapa de Datos de Control IN incondicionalmente (base -\u003e CEPTXCNT = len en numaker_hsusbd_ep_trigger). Debido a que el hardware HSUSBD no puede desarmar una etapa de Datos de Control IN ya armada para una transferencia anterior, un host USB que cancela una transferencia de control en curso (tiempo de espera) y luego emite un nuevo paquete SETUP puede desincronizar el controlador: se pueden transmitir datos obsoletos en la nueva transferencia y el punto final de control puede quedarse permanentemente atascado enviando NAK a cada transferencia de control posterior.\n\nUn host malicioso o con errores (atacante f\u00edsico/adyacente que controla el bus) puede cancelar y re-SETUP repetidamente para bloquear el punto final de control USB del dispositivo, denegaci\u00f3n de servicio a la funci\u00f3n USB del dispositivo (el dispositivo deja de enumerar/responder en el canal de control) hasta un reinicio USB o una reconexi\u00f3n. La falla es una denegaci\u00f3n de servicio solo de disponibilidad; los bucles de copia FIFO (limitados por la longitud de net_buf y el indicador de hardware BUFFULL) y el ciclo de vida de net_buf son independientes de la desincronizaci\u00f3n del armado, por lo que no hay acceso fuera de l\u00edmites, uso despu\u00e9s de liberaci\u00f3n, ni fuga de informaci\u00f3n.\n\nLa soluci\u00f3n monitorea los eventos de token IN y nuevo SETUP (k_event) y solo arma la etapa de Datos de Control IN cuando un token IN est\u00e1 presente y no ha llegado un nuevo SETUP, cancelando la transferencia actual ante un nuevo SETUP. Afecta a las placas que utilizan el controlador Nuvoton NuMaker HSUSBD (CONFIG_UDC_NUMAKER con DT_HAS_NUVOTON_NUMAKER_HSUSBD_ENABLED); enviado en v4.4.0."
}
],
"id": "CVE-2026-10668",
"lastModified": "2026-10-24T22:10:00.210",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "PHYSICAL",
"availabilityImpact": "LOW",
"baseScore": 2.4,
"baseSeverity": "LOW",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
},
"exploitabilityScore": 0.9,
"impactScore": 1.4,
"source": "vulnerabilities@zephyrproject.org",
"type": "Secondary"
},
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "PHYSICAL",
"availabilityImpact": "HIGH",
"baseScore": 4.6,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 0.9,
"impactScore": 3.6,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-10668",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-13T15:45:12.727668Z",
"version": "2.0.3"
}
}
]
},
"published": "2026-07-12T17:16:24.787",
"references": [
{
"source": "vulnerabilities@zephyrproject.org",
"tags": [
"Patch"
],
"url": "https://github.com/zephyrproject-rtos/zephyr/commit/48e003326873e8bbc0ee4b67334e0dd8b5fb890f"
},
{
"source": "vulnerabilities@zephyrproject.org",
"tags": [
"Patch",
"Vendor Advisory"
],
"url": "https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rm28-x84j-4qrx"
}
],
"sourceIdentifier": "vulnerabilities@zephyrproject.org",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-400"
}
],
"source": "vulnerabilities@zephyrproject.org",
"type": "Secondary"
}
]
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.