CVE-2026-31576
CVE.org · Publicado
- Status do registro
- Publicado
- Ano do identificador (não é o ano de publicação)
- 2026
- Publicação na fonte
- Atualização na fonte
- Importado pelo cveboard
- Snapshot da fonte
- cve_2026-10-24_midnight_baseline ·
Texto da CNA em inglês
media: hackrf: fix to not free memory after the device is registered in hackrf_probe()
In the Linux kernel, the following vulnerability has been resolved: media: hackrf: fix to not free memory after the device is registered in hackrf_probe() In hackrf driver, the following race condition occurs: ``` CPU0 CPU1 hackrf_probe() kzalloc(); // alloc hackrf_dev .... v4l2_device_register(); .... fd = sys_open("/path/to/dev"); // open hackrf fd .... v4l2_device_unregister(); .... kfree(); // free hackrf_dev .... sys_ioctl(fd, ...); v4l2_ioctl(); video_is_registered() // UAF!! .... sys_close(fd); v4l2_release() // UAF!! hackrf_video_release() kfree(); // DFB!! ``` When a V4L2 or video device is unregistered, the device node is removed so new open() calls are blocked. However, file descriptors that are already open-and any in-flight I/O-do not terminate immediately; they remain valid until the last reference is dropped and the driver's release() is invoked. Therefore, freeing device memory on the error path after hackrf_probe() has registered dev it will lead to a race to use-after-free vuln, since those already-open handles haven't been released yet. And since release() free memory too, race to use-after-free and double-free vuln occur. To prevent this, if device is registered from probe(), it should be modified to free memory only through release() rather than calling kfree() directly.
Fatos de produtos e versões por escopo
Dados de correção desconhecidos; nenhuma versão corrigida é deduzida aqui. Dados ausentes não comprovam ausência de correção.
Exploração desconhecida; este catálogo não avalia exploração.
Linux
- Fornecedor
- Linux
- Produto
- Linux
- Plataformas
- Desconhecido
- Status padrão
unaffected
| Versão (version) | Status (status) | Esquema de versões (versionType) | Fim exclusivo (lessThan) | Fim inclusivo (lessThanOrEqual) | Mudanças de status (at → status) |
|---|---|---|---|---|---|
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 87b9685cca91ed715c39ba544715832d26a7f4b4 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 131ec9046e1c8af101aebdaec4e8095e05f3312b | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 67fd62e3efdc9dce01f76d95a745212f4feb38e6 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 45cbaf5c7cdc5386d86377f0daf94a17a007fed0 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 98a0a81ce78020c2522e0046f49d200de9778cb9 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 07e9e674b6146b1f6fc41b1f54b8968bf2802824 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 2145c71a8044362e82e9923f001ba2aeb771b848 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | fcd1d70792a35c8a97414fe429f48311e41269c2 | Indisponível | Nenhuma listada |
| 8bc4a9ed85046c214458c9e82aea75d2f46cfffd | affected | git | 3b7da2b4d0fe014eff181ed37e3bf832eb8ed258 | Indisponível | Nenhuma listada |
Linux
- Fornecedor
- Linux
- Produto
- Linux
- Plataformas
- Desconhecido
- Status padrão
affected
| Versão (version) | Status (status) | Esquema de versões (versionType) | Fim exclusivo (lessThan) | Fim inclusivo (lessThanOrEqual) | Mudanças de status (at → status) |
|---|---|---|---|---|---|
| 4.4 | affected | Indisponível | Indisponível | Indisponível | Nenhuma listada |
| 0 | unaffected | semver | 4.4 | Indisponível | Nenhuma listada |
| 5.10.258 | unaffected | semver | Indisponível | 5.10.* | Nenhuma listada |
| 5.15.209 | unaffected | semver | Indisponível | 5.15.* | Nenhuma listada |
| 6.1.175 | unaffected | semver | Indisponível | 6.1.* | Nenhuma listada |
| 6.6.136 | unaffected | semver | Indisponível | 6.6.* | Nenhuma listada |
| 6.12.83 | unaffected | semver | Indisponível | 6.12.* | Nenhuma listada |
| 6.18.24 | unaffected | semver | Indisponível | 6.18.* | Nenhuma listada |
| 6.19.14 | unaffected | semver | Indisponível | 6.19.* | Nenhuma listada |
| 7.0.1 | unaffected | semver | Indisponível | 7.0.* | Nenhuma listada |
| 7.1 | unaffected | original_commit_for_fix | Indisponível | * | Nenhuma listada |