🇰🇷 한글 설명
Linux 커널의 gpio: exar 드라이버에서 cleanup 액션 등록 전에 ID를 저장하지 않아, 등록 실패 시 잘못된 ID(0번)가 해제되는 문제가 수정되었습니다. 이 결함으로 인해 nonzero ID가 누수되거나 다른 장치의 ID 0이 해제될 수 있습니다.
💡 쉬운 설명
리눅스 커널이 GPIO 장치를 관리할 때 번호표를 잘못 반환하는 버그가 있었습니다. 이 수정으로 장치 초기화 실패 시에도 올바른 번호표가 반환됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
gpio: exar: initialize the ID before registering its cleanup
devm_add_action_or_reset() invokes the cleanup action immediately when
registering the action fails. gpio_exar_probe() currently stores the
allocated ID in exar_gpio only after registering the action, so that
failure makes exar_devm_ida_free() release ID 0. If the allocated ID is
nonzero, this leaks that ID and can free ID 0 belonging to another device.
Store the ID before registering the cleanup action so both the immediate
failure path and normal device teardown release the correct allocation.
📍 영향받는 시스템
Linux 커널의 gpio-exar 드라이버를 사용하는 시스템 (수정 이전 커널 버전, 세부 버전 정보 미상)
⚔️ 공격 벡터
로컬 사용자 또는 장치 초기화 오류 상황에서 발생하는 리소스 관리 결함으로, 직접적인 원격 공격 경로는 명시되지 않음
🛡️ 대응 방법
패치된 Linux 커널 버전으로 업데이트하거나 배포판의 최신 보안/커널 업데이트를 적용
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고문에서 해당 패치가 포함된 버전과 비교하여 최신 여부를 확인합니다.