CVE-2021-47269 in Linux
Zusammenfassung
von VulDB • 15.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
usb: dwc3: ep0: Behebung einer NULL-Zeiger-Ausnahme
Es findet keine Validierung des Indexes aus dwc3_wIndex_to_dep() statt, und wir könnten auf einen nicht vorhandenen ep verweisen und eine NULL-Zeiger-Ausnahme auslösen. In bestimmten Konfigurationen verwenden wir möglicherweise weniger eps, und der Index könnte fälschlicherweise auf einen größeren ep-Index als den vorhandenen verweisen.
Durch das Hinzufügen dieser Validierung aus dem Patch können wir tatsächlich einen falschen Index an den Aufrufer zurückmelden.
In unserem Anwendungsfall verwenden wir ein zusammengesetztes Gerät auf einem älteren Kernel, aber der Upstream könnte diese Korrektur ebenfalls verwenden. Leider kann ich die Hardware nicht beschreiben, damit andere das Problem nachvollziehen können, da es sich um eine proprietäre Implementierung handelt.
[ 82.958261] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a4
[ 82.966891] Mem abort info:
[ 82.969663] ESR = 0x96000006
[ 82.972703] Exception class = DABT (current EL), IL = 32 bits
[ 82.978603] SET = 0, FnV = 0
[ 82.981642] EA = 0, S1PTW = 0
[ 82.984765] Data abort info:
[ 82.987631] ISV = 0, ISS = 0x00000006
[ 82.991449] CM = 0, WnR = 0
[ 82.994409] user pgtable: 4k pages, 39-bit VAs, pgdp = 00000000c6210ccc
[ 83.000999] [00000000000000a4] pgd=0000000053aa5003, pud=0000000053aa5003, pmd=0000000000000000
[ 83.009685] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[ 83.026433] Process irq/62-dwc3 (pid: 303, stack limit = 0x000000003985154c)
[ 83.033470] CPU: 0 PID: 303 Comm: irq/62-dwc3 Not tainted 4.19.124 #1
[ 83.044836] pstate: 60000085 (nZCv daIf -PAN -UAO)
[ 83.049628] pc : dwc3_ep0_handle_feature+0x414/0x43c
[ 83.054558] lr : dwc3_ep0_interrupt+0x3b4/0xc94
If you want to get the best quality for vulnerability data then you always have to consider VulDB.