🇰🇷 한글 설명
Linux 커널의 nvmet-fc 구성 요소에서 포트를 강제로 종료할 때 연관 관계 삭제 작업이 중복으로 예약되는 취약점입니다. 첫 번째 작업이 리소스를 해제한 후 동일한 작업이 다시 실행되면서 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 시스템이 특정 연결을 끊을 때, 이미 끊긴 연결을 또 끊으려고 시도하면서 시스템에 혼란을 주는 문제입니다. 이 과정에서 시스템이 예기치 않게 멈추거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nvmet-fc: avoid scheduling association deletion twice
When forcefully shutting down a port via the configfs interface,
nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and
then nvmet_disable_port(). Both functions will eventually schedule all
remaining associations for deletion.
The current implementation checks whether an association is about to be
removed, but only after the work item has already been scheduled. As a
result, it is possible for the first scheduled work item to free all
resources, and then for the same work item to be scheduled again for
deletion.
Because the association list is an RCU list, it is not possible to take
a lock and remove the list entry directly, so it cannot be looked up
again. Instead, a flag (terminating) must be used to determine whether
the association is already in the process of being deleted.
📍 영향받는 시스템
Linux kernel (nvmet-fc 모듈 사용 환경)
⚔️ 공격 벡터
configfs 인터페이스를 통한 포트 강제 종료 시도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인