CVE-2026-98198 in Linux정보

요약

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

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

hwmon: (pwm-fan) tach 데이터 해제 전에 RPM 타이머 중지

sample_timer()는 RPM 타이머를 재설정하고 devm 관리 ctx->tachs 및 ctx->pulses_per_revolution 배열에 접근합니다. 타이머를 중지하는 정리 작업은 해당 배열이 할당되기 전에 등록됩니다.

devres가 역순으로 엔트리를 해제하므로, 드라이버 분리(detach) 시 pwm_fan_cleanup()이 타이머를 종료하기 전에 배열을 해제할 수 있습니다. 이 시간 창에서 타이머 만료(fire)는 이미 해제된 tach 데이터에 접근합니다.

KASAN 커널 사용 시, sample_timer()의 정상 sysfs unbind 실행 중 pwm_fan_cleanup()로의 테스트 전용 kprobe 지연 진입이 발생했습니다. 세 번의 각 런(run)은 backing devm 할당이 해제된 후 sample_timer()에서 4바이트 읽기 3회와 4바이트 쓰기 2회를 보고했습니다. 헬퍼 함수는 타이머 콜백, 정리 작업 또는 free 함수를 호출하지 않았습니다.

수정 적용 시, 세 번의 일치하는 unbind 런이 KASAN, BUG, WARNING, Oops 또는 패닉 없이 완료되었습니다. 계측(instrumentation)을 통해 타이머 은퇴(retirement)가 첫 번째 타이머 backing 할당이 해제되기 전에 완료되었음이 확인되었습니다.

타이머 은퇴를 전원 정리(power cleanup)와 분리하고, 타이머 backing 데이터 및 IRQ 작업이 설치된 후에 해당 devres 작업을 등록합니다. 이는 초기 전원 롤백(action)을 유지하면서 타이머가 그 backing 데이터가 해제되기 전에 은퇴되도록 보장합니다. 콜백이 자체적으로 재설정할 수 있으므로 timer_shutdown_sync()를 사용합니다.

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

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!