🇰🇷 한글 설명
Linux 커널의 of/overlay 구성 요소에서 idr_alloc() 호출 실패 시 음수 ID가 저장되어 발생하는 취약점입니다. 이로 인해 초기화되지 않은 리스트를 참조하거나 NULL 포인터를 역참조하여 시스템 충돌이 발생할 수 있습니다. 이를 해결하기 위해 양수 ID만 등록된 것으로 간주하도록 수정되었습니다.
💡 쉬운 설명
시스템 내부에서 번호를 매기는 과정에서 오류가 발생했을 때, 잘못된 번호를 사용하여 컴퓨터가 혼란에 빠지는 문제입니다. 이 오류로 인해 시스템이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
of/overlay: only treat a positive changeset id as registered
of_overlay_fdt_apply() stores the idr_alloc() return value in
ovcs->id before checking it. On failure the stored id is negative,
free_overlay_changeset()'s "if (ovcs->id)" check passes, idr_remove()
is called with a negative id and list_del() runs on ovcs->ovcs_list,
which is not initialized until after the id allocation. An allocation
failure at that point dereferences NULL.
Make free_overlay_changeset() treat only a strict-positive id as
registered. The rest of the function already copes with a
partially-initialized ovcs, so the error path stays a plain
goto err_free_ovcs.
📍 영향받는 시스템
Linux kernel (of/overlay 모듈 사용 시)
⚔️ 공격 벡터
메모리 할당 실패를 유도할 수 있는 특수한 상황을 통한 로컬 시스템 충돌 유발
🛡️ 대응 방법
최신 보안 패치가 적용된 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인