🇰🇷 한글 설명
Linux 커널의 ice 드라이버에서 ice_ll_ts_intr 함수가 트래커 초기화 여부를 확인하지 않아 발생하는 NULL 역참조 또는 Use-After-Free 취약점입니다. E810 펌웨어의 저지연 Tx 타임스탬프 인터럽트 처리 과정에서 초기화되지 않은 구조체에 접근할 때 발생합니다.
💡 쉬운 설명
네트워크 카드가 특정 신호를 보낼 때, 준비가 안 된 메모리 영역을 잘못 건드려 시스템이 멈추거나 오류가 발생할 수 있는 문제입니다. 이를 통해 시스템이 예기치 않게 종료될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ice: fix NULL access of tx->in_use in ice_ll_ts_intr
Recent versions of the E810 firmware have support for an extra interrupt to
handle report of the "low latency" Tx timestamps coming from the
specialized low latency firmware interface. Instead of polling the
registers, software can wait until the low latency interrupt is fired.
This logic makes use of the Tx timestamp tracking structure, ice_ptp_tx, as
it uses the same "ready" bitmap to track which Tx timestamps complete.
Unfortunately, the ice_ll_ts_intr() function does not check if the
tracker is initialized before its first access. This results in NULL
dereference or use-after-free bugs similar to the issues fixed in the
ice_ptp_ts_irq() function.
Fix this by only checking the in_use bitmap (and other fields) if the
tracker is marked as initialized. The reset flow will clear the init field
under lock before it tears the tracker down, thus preventing any
use-after-free or NULL access.
📍 영향받는 시스템
Linux kernel (ice driver 사용 환경 및 E810 펌웨어 사용 시스템)
⚔️ 공격 벡터
특수하게 조작된 네트워크 인터럽트 또는 펌웨어 신호를 통한 로컬/원격 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.