🔍 CVE-2020-26278

5.8
CVSS Score
MEDIUM
2021-01-20
2026-06-17 03:07
✅ 완료

🇰🇷 한글 설명

Weave Net 2.8.0 미만 버전에서 발생하는 취약점으로, Kubernetes 클러스터의 모든 노드에서 실행되는 Weave Net Pod가 과도한 권한(privileged: true, hostPID: true)을 가지고 있습니다. 공격자가 다른 취약점이나 설정 오류를 통해 Weave Net Pod 내에서 코드를 실행할 수 있다면, 호스트의 모든 프로세스에 접근하고 루트 파일 시스템에 쓰기 작업을 수행하여 클러스터 내 모든 호스트를 장악할 수 있습니다.

💡 쉬운 설명

네트워크 관리 프로그램이 컴퓨터의 모든 권한을 너무 많이 가지고 있어서 발생하는 문제입니다. 만약 해커가 이 프로그램에 침투하면, 연결된 모든 컴퓨터를 마음대로 조종할 수 있게 됩니다.

🇺🇸 원문 (English)

Weave Net is open source software which creates a virtual network that connects Docker containers across multiple hosts and enables their automatic discovery. Weave Net before version 2.8.0 has a vulnerability in which can allow an attacker to take over any host in the cluster. Weave Net is supplied with a manifest that runs pods on every node in a Kubernetes cluster, which are responsible for managing network connections for all other pods in the cluster. This requires a lot of power over the host, and the manifest sets `privileged: true`, which gives it that power. It also set `hostPID: true`, which gave it the ability to access all other processes on the host, and write anywhere in the root filesystem of the host. This setting was not necessary, and is being removed. You are only vulnerable if you have an additional vulnerability (e.g. a bug in Kubernetes) or misconfiguration that allows an attacker to run code inside the Weave Net pod, No such bug is known at the time of release, and there are no known instances of this being exploited. Weave Net 2.8.0 removes the hostPID setting and moves CNI plugin install to an init container. Users who do not update to 2.8.0 can edit the hostPID line in their existing DaemonSet manifest to say false instead of true, arrange some other way to install CNI plugins (e.g. Ansible) and remove those mounts from the DaemonSet manifest.

📍 영향받는 시스템

Weave Net version < 2.8.0

⚔️ 공격 벡터

Kubernetes의 다른 취약점이나 설정 오류를 이용해 Weave Net Pod 내에서 코드를 실행하여 호스트 권한 탈취

🛡️ 대응 방법

Weave Net을 2.8.0 이상 버전으로 업데이트하거나, DaemonSet 매니페스트에서 hostPID 설정을 false로 변경하고 불필요한 마운트를 제거함

🔧 검증 코드

출력 결과에 2.8.0 미만의 버전이 포함되어 있다면 취약한 버전이 실행 중인 것입니다.

Shell / Script
kubectl get daemonset -n kube-system weave-net -o jsonpath='{.spec.template.spec.containers[*].image}' | grep -v 'weave-net:2.8.0'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Docker