🔍 CVE-2025-39722

5.5
CVSS Score
MEDIUM
2025-09-05
2026-10-19 21:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 CAAM 드라이버에서 iMX8QM 및 iMX8ULP SoC 사용 시 시스템 절전(suspend) 모드로 진입할 때 커널 크래시가 발생하는 취약점입니다. SECO 또는 Secure Enclave와 같은 다른 관리 코어가 레지스터 페이지 0에 대한 접근 권한을 예약하고 있음에도 불구하고, 커널이 해당 페이지에 접근을 시도하여 동기식 외부 어보트(synchronous external abort) 오류를 유발합니다.

💡 쉬운 설명

특정 프로세서가 장치를 절전 모드로 전환할 때, 다른 보안 장치가 사용 중인 메모리 영역을 건드려서 시스템이 갑자기 멈추거나 꺼지는 문제입니다. 이를 방지하기 위해 보안 영역을 건드리지 않도록 확인하는 절차가 추가되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: crypto: caam - Prevent crash on suspend with iMX8QM / iMX8ULP Since the CAAM on these SoCs is managed by another ARM core, called the SECO (Security Controller) on iMX8QM and Secure Enclave on iMX8ULP, which also reserves access to register page 0 suspend operations cannot touch this page. This is similar to when running OPTEE, where OPTEE will reserve page 0. Track this situation using a new state variable no_page0, reflecting if page 0 is reserved elsewhere, either by other management cores in SoC or by OPTEE. Replace the optee_en check in suspend/resume with the new check. optee_en cannot go away as it's needed elsewhere to gate OPTEE specific situations. Fixes the following splat at suspend: Internal error: synchronous external abort: 0000000096000010 [#1] SMP Hardware name: Freescale i.MX8QXP ACU6C (DT) pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : readl+0x0/0x18 lr : rd_reg32+0x18/0x3c sp : ffffffc08192ba20 x29: ffffffc08192ba20 x28: ffffff8025190000 x27: 0000000000000000 x26: ffffffc0808ae808 x25: ffffffc080922338 x24: ffffff8020e89090 x23: 0000000000000000 x22: ffffffc080922000 x21: ffffff8020e89010 x20: ffffffc080387ef8 x19: ffffff8020e89010 x18: 000000005d8000d5 x17: 0000000030f35963 x16: 000000008f785f3f x15: 000000003b8ef57c x14: 00000000c418aef8 x13: 00000000f5fea526 x12: 0000000000000001 x11: 0000000000000002 x10: 0000000000000001 x9 : 0000000000000000 x8 : ffffff8025190870 x7 : ffffff8021726880 x6 : 0000000000000002 x5 : ffffff80217268f0 x4 : ffffff8021726880 x3 : ffffffc081200000 x2 : 0000000000000001 x1 : ffffff8020e89010 x0 : ffffffc081200004 Call trace: readl+0x0/0x18 caam_ctrl_suspend+0x30/0xdc dpm_run_callback.constprop.0+0x24/0x5c device_suspend+0x170/0x2e8 dpm_suspend+0xa0/0x104 dpm_suspend_start+0x48/0x50 suspend_devices_and_enter+0x7c/0x45c pm_suspend+0x148/0x160 state_store+0xb4/0xf8 kobj_attr_store+0x14/0x24 sysfs_kf_write+0x38/0x48 kernfs_fop_write_iter+0xb4/0x178 vfs_write+0x118/0x178 ksys_write+0x6c/0xd0 __arm64_sys_write+0x14/0x1c invoke_syscall.constprop.0+0x64/0xb0 do_el0_svc+0x90/0xb0 el0_svc+0x18/0x44 el0t_64_sync_handler+0x88/0x124 el0t_64_sync+0x150/0x154 Code: 88dffc21 88dffc21 5ac00800 d65f03c0 (b9400000)

📍 영향받는 시스템

Linux kernel running on iMX8QM or iMX8ULP SoCs

⚔️ 공격 벡터

Local (System Suspend trigger)

🛡️ 대응 방법

Linux kernel update to the version containing the CAAM no_page0 fix

🔧 검증 코드

커널 버전을 확인하여 해당 취약점이 패치된 최신 커널 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel