CVE-2024-26837 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 02.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: bridge: switchdev: 오프로드된 지연 이벤트에 대한 MDB 재전송 건너뛰기

이 변경 사항 이전에는 재전송할 MDB 이벤트 목록을 생성하는 과정이 IGMP/MLD 스누핑 로직이나 사용자 구성에서 비롯된 새로운 그룹 멤버십 생성과 경쟁 조건(race condition)을 일으켰습니다.

새로운 멤버십은 br->mdb_list를 순회하는 프로세스에게 즉시 표시되지만, switchdev 이벤트 구독자에게 그 존재를 알리는 알림은 나중에로 지연됩니다. 따라서 재전송 목록이 이러한 시간 창과 겹치는 시점에 생성되면, 아직 전달되지 않은 이벤트의 재전송도 목록에 포함됩니다.

드라이버는 브리지 내부에서 단일 이벤트로 간주하는 것을 두 번 수신하게 됩니다. 브리지가 삭제될 때 단일 멤버십 삭제 이벤트만 전송되었기 때문에, 멤버십에 대한 참조 카운팅을 수행하는 드라이버(최소한 DSA의 경우)는 브리지가 삭제된 후에도 하드웨어 데이터베이스에 고아 그룹(orphan groups)을 남기게 됩니다.

이 문제는 추가(additions) 재전송 시에만 발생합니다. 삭제 이벤트는 지연 큐에 아직 대기 중일 수 있지만, br->mdb_list에서는 이미 제거되었으므로 해당 시나리오에서는 중복이 생성되지 않습니다.

사용자에게 이는 이전에 포트가 연결되어 있던 브리지에서 온 이전 그룹 멤버십이, 포트가 새 브리지에 가입할 때 새 브리지의 인지 없이(하드웨어에서) 다시 활성화될 수 있음을 의미했습니다.

예를 들어, mv88e6xxx 시스템에서 스누핑 브리지를 생성하고 즉시 포트를 추가합니다:

root@infix-06-0b-00:~$ ip link add dev br0 up type bridge mcast_snooping 1 && \ > ip link set dev x3 up master br0

그런 다음 브리지를 삭제합니다:

root@infix-06-0b-00:~$ ip link del dev br0 root@infix-06-0b-00:~$ mvls atu ADDRESS FID STATE Q F 0 1 2 3 4 5 6 7 8 9 a DEV:0 Marvell 88E6393X 33:33:00:00:00:6a 1 static - - 0 . . . . . . . . . . 33:33:ff:87:e4:3f 1 static - - 0 . . . . . . . . . . ff:ff:ff:ff:ff:ff 1 static - - 0 1 2 3 4 5 6 7 8 9 a root@infix-06-0b-00:~$

두 개의 IPv6 그룹은 하드웨어 데이터베이스에 남아 있습니다.

그런 다음 같은 포트(또는 동일한 하드웨어 도메인에 속한 다른 포트)를 새 브리지에 추가합니다. 이번에는 스누핑을 비활성화합니다:

root@infix-06-0b-00:~$ ip link add dev br1 up type bridge mcast_snooping 0 && \ > ip link set dev x3 up master br1

br1의 정책에 따라 모든 멀티캐스트(브리지0의 두 IPv6 그룹 포함)가 이제 범선(flooded)되어야 합니다. 하지만 이전 멤버십이 여전히 하드웨어 데이터베이스에서 활성화되어 있어, 스위치가 해당 그룹으로의 트래픽을 CPU(포트 0)로만 전달합니다.

이 경쟁 조건을 두 단계로 제거합니다:

1. 재전송 목록을 생성하는 동안 MDB의 쓰기 잠금(write-side lock)을 획득합니다.

이것은 재전송 목록을 생성하는 동안 새로운 멤버십이 나타나는 것을 방지합니다. 하지만 잠금을 획득하기 전에 이미 생성되었지만 아직 전달되지 않은 지연 이벤트(deferred event)가 있는 시나리오는 여전히 남아 있습니다. 따라서:

2. 추가(additions) 재전송 시 재전송 목록에 추가하기 전에, switchdev 지연 큐에 이미 재전송 이벤트의 지연 버전이 대기 중인지 확인합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

출처

Might our Artificial Intelligence support you?

Check our Alexa App!