🇰🇷 한글 설명
Moby 컨테이너 프레임워크의 26.0.0 버전에서 --ipv6=false 설정에도 불구하고 네트워크 인터페이스의 IPv6가 비활성화되지 않는 취약점이 발견되었습니다. 이로 인해 ipvlan 또는 macvlan 인터페이스를 사용하는 컨테이너가 로컬 네트워크의 다른 호스트와 통신하거나 SLAAC를 통해 주소를 할당받을 수 있어 공격 표면이 확대됩니다.
💡 쉬운 설명
사용자가 IPv6를 끄도록 설정했음에도 불구하고, 컨테이너 내부에서 IPv6 기능이 몰래 켜져 있는 상태입니다. 이로 인해 보안상 차단되어야 할 네트워크 경로가 열려 외부 공격에 노출될 위험이 있습니다.
🇺🇸 원문 (English)
Moby is an open source container framework that is a key component of Docker Engine, Docker Desktop, and other distributions of container tooling or runtimes. In 26.0.0, IPv6 is not disabled on network interfaces, including those belonging to networks where `--ipv6=false`. An container with an `ipvlan` or `macvlan` interface will normally be configured to share an external network link with the host machine. Because of this direct access, (1) Containers may be able to communicate with other hosts on the local network over link-local IPv6 addresses, (2) if router advertisements are being broadcast over the local network, containers may get SLAAC-assigned addresses, and (3) the interface will be a member of IPv6 multicast groups. This means interfaces in IPv4-only networks present an unexpectedly and unnecessarily increased attack surface. The issue is patched in 26.0.2. To completely disable IPv6 in a container, use `--sysctl=net.ipv6.conf.all.disable_ipv6=1` in the `docker create` or `docker run` command. Or, in the service configuration of a `compose` file.
📍 영향받는 시스템
Moby (Docker Engine 등) 26.0.0 버전
⚔️ 공격 벡터
컨테이너가 로컬 네트워크의 IPv6 링크 로컬 주소나 멀티캐스트 그룹을 통해 외부 호스트와 통신하여 공격 표면을 확장함
🛡️ 대응 방법
Moby를 26.0.2 버전 이상으로 업데이트하거나, 실행 시 --sysctl=net.ipv6.conf.all.disable_ipv6=1 옵션을 추가하여 IPv6를 강제로 비활성화함
🔧 검증 코드
명령어 결과가 26.0.0으로 출력되면 해당 취약점에 노출된 버전입니다.
docker version --format '{{.Server.Version}}' | grep -E '^26\.0\.0$'