CVE-2024-40975 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 27.

리눅스 커널에서 다음 취약점이 해결되었습니다:

platform/x86: x86-android-tablets: 역순으로 장치 등록 해제

모든 하위 시스템이 장치에 대한 참조를 유지하는 소비자가 여전히 존재하는 동안 장치가 제거되는 것을 지원하는 것은 아닙니다.

이러한 사례 중 하나는 레귤레이터(subsystem) 하위 시스템입니다. 레귤레이터가 참조를 유지하고 있는 드라이버가 여전히 존재하는 동안 등록 해제되면, 예컨대 drivers/regulator/core.c:5829에서 WARN()이 트리거됩니다.

WARNING: CPU: 1 PID: 1587 at drivers/regulator/core.c:5829 regulator_unregister Hardware name: Intel Corp. VALLEYVIEW C0 PLATFORM/BYT-T FFD8, BIOS BLADE_21.X64.0005.R00.1504101516 FFD8_X64_R_2015_04_10_1516 04/10/2015 RIP: 0010:regulator_unregister Call Trace: regulator_unregister devres_release_group i2c_device_remove device_release_driver_internal bus_remove_device device_del device_unregister x86_android_tablet_remove

레노버 요가 태블릿 2 시리즈에서 bq24190 충전 칩은 마이크로 USB 포트에 연결된 USB 장치에 전원을 공급하기 위한 5V 부스트 컨버터 출력도 제공합니다. bq24190-charger 드라이버는 이를 Vbus 레귤레이터로 내보냅니다.

830(8인치) 및 1050(10인치) 모델에서 이 레귤레이터는 플랫폼 장치(platform_device)에 의해 제어되며, x86_android_tablet_remove() 함수는 i2c_clients보다 먼저 platform_device를 제거하므로 소비자가 먼저 제거됩니다.

그러나 1380(13인치) 모델에는 I2C를 통해 연결된 lc824206xa 마이크로 USB 스위치가 있으며, 해당 extcon 드라이버가 레귤레이터를 제어합니다. lc824206xa가 소비자로 등록되어 레귤레이터가 생성되므로 bq24190 i2c-client는 반드시 먼저 등록되어야 합니다. 레귤레이터가 아직 등록되지 않은 경우 lc824206xa 드라이버는 더미 레귤레이터(dummy regulator)를 받게 됩니다.

이 경우 레귤레이터 공급자와 소비자가 모두 I2C 장치이므로, 소비자가 먼저 등록 해제되도록 보장하는 유일한 방법은 I2C 장치를 생성된 역순으로 등록 해제하는 것입니다.

일관성을 유지하고 향후 유사한 문제를 방지하기 위해 x86_android_tablet_remove() 함수를 수정하여 모든 장치 유형을 역순으로 등록 해제하도록 변경합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2024. 07. 12.

모더레이션

수락

항목

VDB-271301

EPSS

0.00288

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!