media: i2c: ov772x: Fix memleak in ov772x_probe() (Linux Linux)
En bref
- Source
- NVD
- EPSS
- EPSS 0.20 % · centile 10 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- Linux
- Statut NVD
- Analyzed
Description
In the Linux kernel, the following vulnerability has been resolved: media: i2c: ov772x: Fix memleak in ov772x_probe() A memory leak was reported when testing ov772x with bpf mock device: AssertionError: unreferenced object 0xffff888109afa7a8 (size 8): comm "python3", pid 279, jiffies 4294805921 (age 20.681s) hex dump (first 8 bytes): 80 22 88 15 81 88 ff ff ."...... backtrace: [<000000009990b438>] __kmalloc_node+0x44/0x1b0 [<000000009e32f7d7>] kvmalloc_node+0x34/0x180 [<00000000faf48134>] v4l2_ctrl_handler_init_class+0x11d/0x180 [videodev] [<00000000da376937>] ov772x_probe+0x1c3/0x68c [ov772x] [<000000003f0d225e>] i2c_device_probe+0x28d/0x680 [<00000000e0b6db89>] really_probe+0x17c/0x3f0 [<000000001b19fcee>] __driver_probe_device+0xe3/0x170 [<0000000048370519>] driver_probe_device+0x49/0x120 [<000000005ead07a0>] __device_attach_driver+0xf7/0x150 [<0000000043f452b8>] bus_for_each_drv+0x114/0x180 [<00000000358e5596>] __device_attach+0x1e5/0x2d0 [<0000000043f83c5d>] bus_probe_device+0x126/0x140 [<00000000ee0f3046>] device_add+0x810/0x1130 [<00000000e0278184>] i2c_new_client_device+0x359/0x4f0 [<0000000070baf34f>] of_i2c_register_device+0xf1/0x110 [<00000000a9f2159d>] of_i2c_notify+0x100/0x160 unreferenced object 0xffff888119825c00 (size 256): comm "python3", pid 279, jiffies 4294805921 (age 20.681s) hex dump (first 32 bytes): 00 b4 a5 17 81 88 ff ff 00 5e 82 19 81 88 ff ff .........^...... 10 5c 82 19 81 88 ff ff 10 5c 82 19 81 88 ff ff .\.......\...... backtrace: [<000000009990b438>] __kmalloc_node+0x44/0x1b0 [<000000009e32f7d7>] kvmalloc_node+0x34/0x180 [<0000000073d88e0b>] v4l2_ctrl_new.cold+0x19b/0x86f [videodev] [<00000000b1f576fb>] v4l2_ctrl_new_std+0x16f/0x210 [videodev] [<00000000caf7ac99>] ov772x_probe+0x1fa/0x68c [ov772x] [<000000003f0d225e>] i2c_device_probe+0x28d/0x680 [<00000000e0b6db89>] really_probe+0x17c/0x3f0 [<000000001b19fcee>] __driver_probe_device+0xe3/0x170 [<0000000048370519>] driver_probe_device+0x49/0x120 [<000000005ead07a0>] __device_attach_driver+0xf7/0x150 [<0000000043f452b8>] bus_for_each_drv+0x114/0x180 [<00000000358e5596>] __device_attach+0x1e5/0x2d0 [<0000000043f83c5d>] bus_probe_device+0x126/0x140 [<00000000ee0f3046>] device_add+0x810/0x1130 [<00000000e0278184>] i2c_new_client_device+0x359/0x4f0 [<0000000070baf34f>] of_i2c_register_device+0xf1/0x110 The reason is that if priv->hdl.error is set, ov772x_probe() jumps to the error_mutex_destroy without doing v4l2_ctrl_handler_free(), and all resources allocated in v4l2_ctrl_handler_init() and v4l2_ctrl_new_std() are leaked.
Faiblesses (CWE)
- CWE-401 — Mémoire non libérée après sa durée de vie utile
Références
- https://git.kernel.org/stable/c/cc3b6011d7a9f149489eb9420c6305a779162c57
- https://git.kernel.org/stable/c/448ce1cd50387b1345ec14eb191ef05f7afc2a26
- https://git.kernel.org/stable/c/dfaafeb8e9537969e8dba75491f732478c7fa9d6
- https://git.kernel.org/stable/c/1da495101ef7507eb4f4b1dbec2874d740eff251
- https://git.kernel.org/stable/c/ac93f8ac66e60227bed42d5a023f0e6c15b52c0a
- https://git.kernel.org/stable/c/c86d760c1c6855a6131e78d0ddacc48c79324ac3
- https://git.kernel.org/stable/c/7485edb2b6ca5960205c0a49bedfd09bba30e521
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
Références européennes
- ENISA EUVD · EUVD-2025-32004
- GCVE · GCVE-0-2023-53637
Avis du CERT-FR
- CERTFR-2025-AVI-1073 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2025-AVI-1032 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Configurations affectées (CPE NVD)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.17 < 4.19.276cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.20 < 5.4.235cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.5 < 5.10.173cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.11 < 5.15.99cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.16 < 6.1.16cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.2.3
Produits affectés
| Produit | Versions |
|---|---|
| Linux · Linux | affected 1112babde21483d86ed3fbad1320b0ddf9ab2ece < cc3b6011d7a9f149489eb9420c6305a779162c57 ; affected 1112babde21483d86ed3fbad1320b0ddf9ab2ece < 448ce1cd50387b1345ec14eb191ef05f7afc2a26 ; affected 1112babde21483d86ed3fbad1320b0ddf9ab2ece < dfaafeb8e9537969e8dba75491f732478c7fa9d6 ; affected 1112babde21483d86ed3fbad1320b0ddf9ab2ece < 1da495101ef7507eb4f4b1dbec2874d740eff251 ; affected 1112babde21483d86ed3fbad1320b0ddf9ab2ece < ac93f8ac66e60227bed42d5a023f0e6c15b52c0a ; affected 1112babde21483d86ed3fbad1320b0ddf9ab2ece < c86d760c1c6855a6131e78d0ddacc48c79324ac3 |
| Linux · Linux | affected 4.17 ; unaffected 0 < 4.17 ; unaffected 4.19.276 ≤ 4.19.* ; unaffected 5.4.235 ≤ 5.4.* ; unaffected 5.10.173 ≤ 5.10.* ; unaffected 5.15.99 ≤ 5.15.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |