🇰🇷 한글 설명
Linux 커널의 AOE(Attaching On Everything) 프로토콜 구현에서 발생할 수 있는 Use-After-Free 취약점입니다. 특정 함수들이 패킷 전송 시 네트워크 장치의 참조 횟수를 적절히 관리하지 않아 메모리 오류가 발생할 수 있는 문제가 해결되었습니다.
💡 쉬운 설명
컴퓨터가 이미 사용이 끝난 메모리 공간을 다시 사용하려고 할 때 발생하는 오류입니다. 이 문제가 발생하면 시스템이 갑자기 멈추거나 해킹에 이용될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
aoe: fix the potential use-after-free problem in more places
For fixing CVE-2023-6270, f98364e92662 ("aoe: fix the potential
use-after-free problem in aoecmd_cfg_pkts") makes tx() calling dev_put()
instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs
into use-after-free.
Then Nicolai Stange found more places in aoe have potential use-after-free
problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe()
and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push
packet to tx queue. So they should also use dev_hold() to increase the
refcnt of skb->dev.
On the other hand, moving dev_put() to tx() causes that the refcnt of
skb->dev be reduced to a negative value, because corresponding
dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(),
probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.
📍 영향받는 시스템
AOE 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특수하게 조작된 네트워크 패킷을 전송하여 커널 메모리 관리 오류 유도
🛡️ 대응 방법
AOE 관련 Use-After-Free 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인