🔍 CVE-2026-90145

7.1
CVSS Score
HIGH
2026-09-17
2026-10-19 09:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 hinic3 드라이버에서 skb 선형화 불일치로 인해 발생하는 취약점입니다. 잘못된 프래그먼트 카운트를 사용하여 TX 디스크립터를 생성할 경우, 경계 외(Out-of-bounds) DMA 읽기 또는 IOMMU 오류가 발생할 수 있습니다. 또한 체크섬 계산 실패 시 오류를 무시하고 손상된 패킷을 전송하는 문제도 포함되어 있습니다.

💡 쉬운 설명

네트워크 카드가 데이터를 보낼 때 데이터의 조각 개수를 잘못 계산하여 시스템 메모리에 잘못 접근할 수 있는 문제입니다. 이로 인해 시스템 오류가 발생하거나 데이터가 깨진 상태로 전송될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: hinic3: Fix skb linearization mismatch and drop skb when skb_checksum_help() failed Previously, hinic3_send_one_skb() cached the skb fragment count before calling hinic3_tx_offload(). If hinic3_tx_csum() falls back to skb_checksum_help() for unsupported tunnel packets, the skb may be linearized. Continuing to build the TX descriptor with the stale fragment count leads to a descriptor mismatch, which can trigger out-of-bounds DMA reads or IOMMU faults. Furthermore, the old code ignored the return value of skb_checksum_help(), transmitting corrupted packets with incomplete checksums upon failure. Fix this by: 1. Moving the hinic3_tx_offload() call before calculating 'num_sge' to ensure the correct fragment count is used if the SKB is linearized. 2. Propagating skb_checksum_help() errors and returning HINIC3_TX_OFFLOAD_INVALID to properly drop the skb.

📍 영향받는 시스템

Linux kernel (hinic3 driver 사용 시스템)

⚔️ 공격 벡터

특정 터널링 패킷을 전송하여 드라이버의 체크섬 오프로드 로직을 유도함으로써 발생

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel