CVE-2023-54079 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 30.

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

power: supply: bq27xxx: 제거 시 poll_interval 처리 및 경합 조건(race condition) 수정

이 패치 이전에는 `bq27xxx_battery_teardown()`가 지연 작업(delayed_work) 항목을 다시 예약하지 않도록 하기 위해 `poll_interval`에 0을 할당하고 있었습니다.

이 방식에는 두 가지 문제가 있습니다:

1. 모듈이 rmmod로 제거되는 것이 아니라 sysfs를 통해 드라이버의 바인딩이 해제될 경우, 예기치 않게 poll_interval 값이 변경됩니다. 2. 이는 경합 조건(race condition)이 발생합니다. poll_interval에 0을 할당한 후, `bq27xxx_battery_update()`가 `/sys/module/bq27xxx_battery/parameters/poll_interval`를 통해 이를 확인하기 전에 poll_interval 값이 변경될 수 있습니다.

이를 해결하기 위해 `struct bq27xxx_device_info` 구조체에 removed 속성을 추가하고, poll_interval을 0으로 설정하는 대신 해당 속성을 사용하도록 수정했습니다.

또한 제거(remove) 시 다른 poll_interval 관련 경합 조건도 존재합니다. `/sys/module/bq27xxx_battery/parameters/poll_interval`에 값을 쓰면 `bq27xxx_battery_devices` 목록의 모든 장치에 대해 지연 작업 항목이 다시 예약됩니다. 그러나 제거 대상 장치는 지연 작업을 취소한 후에야 해당 목록에서 제거되었습니다.

이를 해결하기 위해, 지연 작업을 취소하기 전에 bq27xxx_battery_devices 목록에서의 삭제를 수행하도록 수정했습니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2025. 12. 24.

모더레이션

수락

항목

VDB-338117

EPSS

0.00184

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!