In the Linux kernel, the following vulnerability has been resolved: udp: Fix wildcard bind conflict check when using hash2 When binding a
위협 신호 · CVSS · EPSS · KEV
이론적 심각도 점수
30일 내 악용 확률 예측
실측 악용 기록 없음
별도 긴급 패치 불필요 — 정기 시스템 업그레이드 주기에 맞춰 조치
CVSS 벡터 · 메트릭
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H상세 설명
In the Linux kernel, the following vulnerability has been resolved:
udp: Fix wildcard bind conflict check when using hash2
When binding a udp_sock to a local address and port, UDP uses
two hashes (udptable->hash and udptable->hash2) for collision
detection. The current code switches to "hash2" when
hslot->count > 10.
"hash2" is keyed by local address and local port.
"hash" is keyed by local port only.
The issue can be shown in the following bind sequence (pseudo code):
bind(fd1, "[fd00::1]:8888")
bind(fd2, "[fd00::2]:8888")
bind(fd3, "[fd00::3]:8888")
bind(fd4, "[fd00::4]:8888")
bind(fd5, "[fd00::5]:8888")
bind(fd6, "[fd00::6]:8888")
bind(fd7, "[fd00::7]:8888")
bind(fd8, "[fd00::8]:8888")
bind(fd9, "[fd00::9]:8888")
bind(fd10, "[fd00::10]:8888")
/* Correctly return -EADDRINUSE because "hash" is used
- instead of "hash2". udp_lib_lport_inuse() detects the
- conflict.
*/
bind(fail_fd, "[::]:8888")
/* After one more socket is bound to "[fd00::11]:8888",
- hslot->count exceeds 10 and "hash2" is used instead.
/
bind(fd11, "[fd00::11]:8888")
bind(fail_fd, "[::]:8888") / succeeds unexpectedly */
The same issue applies to the IPv4 wildcard address "0.0.0.0"
and the IPv4-mapped wildcard address "::ffff:0.0.0.0". For
example, if there are existing sockets bound to
"192.168.1.[1-11]:8888", then binding "0.0.0.0:8888" or
"[::ffff:0.0.0.0]:8888" can also miss the conflict when
hslot->count > 10.
TCP inet_csk_get_port() already has the correct check in
inet_use_bhash2_on_bind(). Rename it to
inet_use_hash2_on_bind() and move it to inet_hashtables.h
so udp.c can reuse it in this fix.
AI 심층 분석
공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.
영향받는 제품·버전
- linux linux_kernel2.6.33.1 - 6.1.168linux
- linux linux_kernel6.2 - 6.6.131linux
- linux linux_kernel6.7 - 6.12.80linux
- linux linux_kernel6.13 - 6.18.21linux
- linux linux_kernel6.19 - 6.19.11linux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
영향받는 구성 (CPE) 9
- linux linux_kernel≥ 2.6.33.1 < 6.1.168cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
- linux linux_kernel 2.6.33cpe:2.3:o:linux:linux_kernel:2.6.33:-:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
- linux linux_kernel 7.0cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*
참고 자료 8
링크 내용 불러오는 중…