🇰🇷 한글 설명
Linux 커널의 AppArmor 보안 모듈에서 TCP Fast Open 기능을 사용할 때 발생하는 보안 취약점입니다. MSG_FASTOPEN 플래그를 사용하면 connect() 권한이 없는 프로세스가 암시적인 연결을 생성할 수 있어, AppArmor의 연결 제한 정책을 우회할 수 있습니다.
💡 쉬운 설명
보안 규칙상 외부 연결이 금지된 프로그램이 특수한 통신 방식을 사용하여 몰래 외부와 연결을 시도할 수 있는 문제입니다. 이로 인해 보안 설정이 무력화될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
apparmor: mediate the implicit connect of TCP fast open sendmsg
sendmsg()/sendto() with MSG_FASTOPEN is a combination of connect(2) and
write(2): it opens the connection in the SYN. apparmor_socket_sendmsg()
only checks AA_MAY_SEND, so a profile that grants send but denies connect
lets a confined task open an outbound TCP/MPTCP connection that connect(2)
would have refused, bypassing connect mediation.
Mediate the implicit connect when MSG_FASTOPEN is set and a destination
is supplied. Add it to apparmor_socket_sendmsg() (not the shared
aa_sock_msg_perm() helper, which recvmsg also uses) and call aa_sk_perm()
directly, mirroring the selinux and tomoyo fixes. sk_is_tcp() does not
cover MPTCP fast open, so the SOCK_STREAM/IPPROTO_MPTCP arm is explicit.
📍 영향받는 시스템
AppArmor가 활성화된 Linux 커널 (TCP Fast Open 및 MPTCP 사용 환경)
⚔️ 공격 벡터
제한된 권한을 가진 프로세스가 MSG_FASTOPEN 플래그를 사용하여 AppArmor의 connect() 검사를 우회하고 외부 네트워크에 연결 시도
🛡️ 대응 방법
AppArmor의 socket mediation 로직이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인