製品・ソフトウェアに関する情報
Debian等の複数ベンダの製品における不特定の脆弱性
Title Debian等の複数ベンダの製品における不特定の脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました:staging: media: max96712: モジュール削除時のカーネルオープスの修正。max96712モジュールを削除しようとすると、以下のカーネルオープスが発生します。仮想アドレス00007375746174dbのカーネルページング要求を処理できません。メモリアボート情報:ESR=0x0000000096000004 EC=0x25: DABT (カレントEL)、IL=32ビット、セット=0、FnV=0、EA=0、S1PTW=0、FSC=0x04: レベル0の変換フォールト。データアボート情報:ISV=0、ISS=0x00000004、ISS2=0x00000000、CM=0、WnR=0、TnD=0、TagAccess=0、GCS=0、Overlay=0、DirtyBit=0、Xs=0。ユーザページテーブル:4kページ、48ビット仮想アドレス、pgdp=000000010af89000。[00007375746174db] pgd=0000000000000000、p4d=0000000000000000。内部エラー:Oops: 0000000096000004 [#1] PREEMPT SMP。モジュールリンク済み:crct10dif_ce、polyval_ce、mxc_jpeg_encdec、flexcan、snd_soc_fsl_sai、snd_soc_fsl_asoc_card、snd_soc_fsl_micfil、dwc_mipi_csi2、imx_csi_formatter、polyval_generic、v4l2_jpeg、imx_pcm_dma、can_dev、snd_soc_imx_audmux、snd_soc_wm8962、snd_soc_imx_card、snd_soc_fsl_utils、max96712(C-)、rpmsg_ctrl、rpmsg_char、pwm_fan、fuse。[最後にアンロードされたモジュールはimx8_isiです]。CPUは0、UIDは0、PIDは754。コマンドはrmmodです。TaintedはG、C、6.12.0-rc6-06364-g327fec852c31 #17、Taintedは[C]=CRAP。ハードウェア名はNXP i.MX95 19X19ボード(DT)です。pstateは60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)。pcはled_put+0x1c/0x40。lrはv4l2_subdev_put_privacy_led+0x48/0x58。spはffff80008699bbb0です。レジスタの状態は以下の通りです。コールトレースはled_put+0x1c/0x40、v4l2_subdev_put_privacy_led+0x48/0x58、v4l2_async_unregister_subdev+0x2c/0x1a4、max96712_remove+0x1c/0x38 [max96712]、i2c_device_remove+0x2c/0x9c、device_remove+0x4c/0x80、device_release_driver_internal+0x1cc/0x228、driver_detach+0x4c/0x98、bus_remove_driver+0x6c/0xbc、driver_unregister+0x30/0x60、i2c_del_driver+0x54/0x64、max96712_i2c_driver_exit+0x18/0x1d0 [max96712]、__arm64_sys_delete_module+0x1a4/0x290、invoke_syscall+0x48/0x10c、el0_svc_common.constprop.0+0xc0/0xe0、do_el0_svc+0x1c/0x28、el0_svc+0x34/0xd8、el0t_64_sync_handler+0x120/0x12c、el0t_64_sync+0x190/0x194です。コードはf9000bf3 aa0003f3 f9402800 f9402000 (f9403400)です。---[end trace 0000000000000000]---この問題は、v4l2_i2c_subdev_init()内でi2c_set_clientdata()が再度呼び出され、データがprivではなくsdを指すように上書きされるために発生します。そのため、remove()の中で不正なポインタがv4l2_async_unregister_subdev()に渡されてしまい、クラッシュが発生します。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date March 6, 2025, midnight
Registration Date Jan. 27, 2026, 5:37 p.m.
Last Update Jan. 27, 2026, 5:37 p.m.
CVSS3.0 : 重要
Score 7.1
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Affected System
Debian
Debian GNU/Linux 11.0
Linux
Linux Kernel 5.17 以上 6.1.129 未満
Linux Kernel 6.13 以上 6.13.2 未満
Linux Kernel 6.2 以上 6.6.76 未満
Linux Kernel 6.7 以上 6.12.13 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
No Changed Details Date of change
1 [2026年01月27日]
  掲載
Jan. 27, 2026, 5:37 p.m.

NVD Vulnerability Information
CVE-2024-58054
Summary

In the Linux kernel, the following vulnerability has been resolved:

staging: media: max96712: fix kernel oops when removing module

The following kernel oops is thrown when trying to remove the max96712
module:

Unable to handle kernel paging request at virtual address 00007375746174db
Mem abort info:
ESR = 0x0000000096000004
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x04: level 0 translation fault
Data abort info:
ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
CM = 0, WnR = 0, TnD = 0, TagAccess = 0
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
user pgtable: 4k pages, 48-bit VAs, pgdp=000000010af89000
[00007375746174db] pgd=0000000000000000, p4d=0000000000000000
Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
Modules linked in: crct10dif_ce polyval_ce mxc_jpeg_encdec flexcan
snd_soc_fsl_sai snd_soc_fsl_asoc_card snd_soc_fsl_micfil dwc_mipi_csi2
imx_csi_formatter polyval_generic v4l2_jpeg imx_pcm_dma can_dev
snd_soc_imx_audmux snd_soc_wm8962 snd_soc_imx_card snd_soc_fsl_utils
max96712(C-) rpmsg_ctrl rpmsg_char pwm_fan fuse
[last unloaded: imx8_isi]
CPU: 0 UID: 0 PID: 754 Comm: rmmod
Tainted: G C 6.12.0-rc6-06364-g327fec852c31 #17
Tainted: [C]=CRAP
Hardware name: NXP i.MX95 19X19 board (DT)
pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : led_put+0x1c/0x40
lr : v4l2_subdev_put_privacy_led+0x48/0x58
sp : ffff80008699bbb0
x29: ffff80008699bbb0 x28: ffff00008ac233c0 x27: 0000000000000000
x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
x23: ffff000080cf1170 x22: ffff00008b53bd00 x21: ffff8000822ad1c8
x20: ffff000080ff5c00 x19: ffff00008b53be40 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000004 x13: ffff0000800f8010 x12: 0000000000000000
x11: ffff000082acf5c0 x10: ffff000082acf478 x9 : ffff0000800f8010
x8 : 0101010101010101 x7 : 7f7f7f7f7f7f7f7f x6 : fefefeff6364626d
x5 : 8080808000000000 x4 : 0000000000000020 x3 : 00000000553a3dc1
x2 : ffff00008ac233c0 x1 : ffff00008ac233c0 x0 : ff00737574617473
Call trace:
led_put+0x1c/0x40
v4l2_subdev_put_privacy_led+0x48/0x58
v4l2_async_unregister_subdev+0x2c/0x1a4
max96712_remove+0x1c/0x38 [max96712]
i2c_device_remove+0x2c/0x9c
device_remove+0x4c/0x80
device_release_driver_internal+0x1cc/0x228
driver_detach+0x4c/0x98
bus_remove_driver+0x6c/0xbc
driver_unregister+0x30/0x60
i2c_del_driver+0x54/0x64
max96712_i2c_driver_exit+0x18/0x1d0 [max96712]
__arm64_sys_delete_module+0x1a4/0x290
invoke_syscall+0x48/0x10c
el0_svc_common.constprop.0+0xc0/0xe0
do_el0_svc+0x1c/0x28
el0_svc+0x34/0xd8
el0t_64_sync_handler+0x120/0x12c
el0t_64_sync+0x190/0x194
Code: f9000bf3 aa0003f3 f9402800 f9402000 (f9403400)
---[ end trace 0000000000000000 ]---

This happens because in v4l2_i2c_subdev_init(), the i2c_set_cliendata()
is called again and the data is overwritten to point to sd, instead of
priv. So, in remove(), the wrong pointer is passed to
v4l2_async_unregister_subdev(), leading to a crash.

Publication Date March 7, 2025, 1:15 a.m.
Registration Date March 7, 2025, 4 a.m.
Last Update March 7, 2025, 1:15 a.m.
Related information, measures and tools
Common Vulnerabilities List