🇰🇷 한글 설명
Linux 커널의 IPv4 FIB에서 자동 테이블 ID 할당 범위가 제한되지 않아 발생하던 성능 저하 문제를 해결했습니다. 기존에는 빈 ID를 찾기 위해 전체 범위를 탐색하며 RTNL 락을 유지했으나, 이제 할당 범위를 4096으로 제한하여 시스템 지연을 방지합니다.
💡 쉬운 설명
네트워크 설정 시 빈 번호를 찾기 위해 컴퓨터가 너무 많은 시간을 허비하던 문제를 고쳤습니다. 이제 번호 찾는 범위를 정해두어 시스템이 느려지는 것을 막아줍니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ipv4: fib: bound automatic table ID allocation
fib_empty_table() probes every table ID from 1 until it finds a
free one. IPv4 tables are stored in a 256-bucket hash table, so a
dense set of IDs makes each probe walk a growing hash chain while
RTNL is held.
Automatic table assignment ("ip rule ... table 0") is an IPv4-only
legacy path. Bound the automatically allocated ID to 4096 so the
RTNL hold stays bounded, without changing lookups of explicitly
specified table IDs.
This changes user-visible behavior. A table-0 rule previously
received the lowest free ID in 1..RT_TABLE_MAX (0xFFFFFFFF). After
this patch the search stops at 4096 and the rule add fails with
ENOBUFS if that range is fully occupied. Explicit table IDs above
4096 remain usable.
The automatic path is unused in practice: it is IPv4-only, not
documented by ip-rule, uncovered by kernel selftests, and both
NetworkManager and systemd refuse table 0.
📍 영향받는 시스템
Linux Kernel (IPv4 FIB 관련 기능 사용 시)
⚔️ 공격 벡터
직접적인 공격보다는 특정 조건에서 시스템 자원(RTNL lock)을 점유하여 성능을 저하시키는 DoS 가능성
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 배포판의 보안 업데이트 버전인지 확인