🇰🇷 한글 설명
Linux 커널의 team 드라이버에서 브로드캐스트 전송 시 전송 가능한 포트가 없으면 skb가 해제되지 않고 남아 있는 문제가 수정되었습니다. 이로 인해 AF_PACKET 송신 시 소켓 쓰기 메모리 할당이 유지될 수 있었습니다.
💡 쉬운 설명
네트워크 묶음(team) 기능에서 보낼 수 있는 연결이 하나도 없을 때 데이터 조각이 정리되지 않고 메모리에 계속 남아 있던 문제입니다. 이 상태가 반복되면 시스템 메모리가 점점 소모될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: team: free skb when broadcast has no txable port
bc_transmit() sends the original skb through the last txable port.
When no port is txable, it returns false without consuming the skb, but
team_xmit() still returns NETDEV_TX_OK. AF_PACKET sends then retain the
skb and its socket write-memory charge.
A TX-enabled, link-down port keeps the broadcast transmit op installed.
Carrier can stay up through a second link-up, TX-disabled port or be
forced on by userspace. Free the original skb on the no-port path while
leaving the existing drop accounting intact.
Discovered by Sashiko during review of previous commit.
📍 영향받는 시스템
패치가 적용되기 전의 Linux 커널 (team 드라이버 사용 시)
⚔️ 공격 벡터
로컬 사용자가 링크가 내려가거나 전송이 비활성화된 team 포트 상태에서 AF_PACKET 브로드캐스트 전송을 반복하여 메모리를 누적시킬 수 있습니다.
🛡️ 대응 방법
패치된 Linux 커널 버전으로 업데이트하고 배포판 보안 권고를 따르세요.
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지의 수정 버전과 비교하여 패치 적용 여부를 확인하세요. 수정된 커널 버전이 확인되지 않으면 업데이트가 필요합니다.