🇰🇷 한글 설명
Linux 커널의 accel/amdxdna 드라이버에서 rpm_on 플래그를 확인하는 과정 중 레이스 컨디션 취약점이 발견되었습니다. 자동 절전 모드 전환 시 특정 시점에 사용자 애플리케이션이 명령을 제출하면, 장치가 실제로 복구되지 않은 상태에서 명령이 실행되어 예기치 않은 동작을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품이 잠시 잠들었다가 깨어나는 과정에서, 아직 완전히 깨어나지 않았는데 명령이 전달되어 오작동이 발생하는 문제입니다. 이로 인해 장치가 제대로 작동하지 않거나 시스템에 오류가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
accel/amdxdna: Fix race condition when checking rpm_on
When autosuspend is triggered, driver rpm_on flag is set to indicate that
a suspend/resume is already in progress. However, when a userspace
application submits a command during this narrow window,
amdxdna_pm_resume_get() may incorrectly skip the resume operation because
the rpm_on flag is still set. This results in commands being submitted
while the device has not actually resumed, causing unexpected behavior.
The set_dpm() is called by suspend/resume, it relied on rpm_on flag to
avoid calling into rpm suspend/resume recursivly. So to fix this, remove
the use of the rpm_on flag entirely. Instead, introduce aie2_pm_set_dpm()
which explicitly resumes the device before invoking set_dpm(). With this
change, set_dpm() is called directly inside the suspend or resume execution
path. Otherwise, aie2_pm_set_dpm() is called.
📍 영향받는 시스템
Linux kernel (accel/amdxdna driver component)
⚔️ 공격 벡터
장치의 절전 모드 전환 시점에 맞춰 특정 명령을 제출하는 로컬 공격 또는 애플리케이션 동작
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.