🔍 CVE-2025-21792

7.8
CVSS Score
HIGH
2025-02-27
2026-07-30 06:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 AX25 프로토콜 스택에서 SO_BINDTODEVICE 소켓 옵션을 사용하여 장치를 바인딩할 때 참조 카운트(refcount) 누수가 발생하는 취약점입니다. 이로 인해 장치 해제 시 메모리 누수가 발생할 수 있으며, 이는 시스템 자원 고갈로 이어질 수 있습니다.

💡 쉬운 설명

특정 네트워크 기능을 사용할 때 컴퓨터가 사용 중인 자원의 숫자를 제대로 관리하지 못해 메모리가 계속 쌓이는 문제입니다. 이 문제가 반복되면 컴퓨터의 메모리가 부족해져 시스템이 느려지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ax25: Fix refcount leak caused by setting SO_BINDTODEVICE sockopt If an AX25 device is bound to a socket by setting the SO_BINDTODEVICE socket option, a refcount leak will occur in ax25_release(). Commit 9fd75b66b8f6 ("ax25: Fix refcount leaks caused by ax25_cb_del()") added decrement of device refcounts in ax25_release(). In order for that to work correctly the refcounts must already be incremented when the device is bound to the socket. An AX25 device can be bound to a socket by either calling ax25_bind() or setting SO_BINDTODEVICE socket option. In both cases the refcounts should be incremented, but in fact it is done only in ax25_bind(). This bug leads to the following issue reported by Syzkaller: ================================================================ refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 1 PID: 5932 at lib/refcount.c:31 refcount_warn_saturate+0x1ed/0x210 lib/refcount.c:31 Modules linked in: CPU: 1 UID: 0 PID: 5932 Comm: syz-executor424 Not tainted 6.13.0-rc4-syzkaller-00110-g4099a71718b0 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:refcount_warn_saturate+0x1ed/0x210 lib/refcount.c:31 Call Trace: <TASK> __refcount_dec include/linux/refcount.h:336 [inline] refcount_dec include/linux/refcount.h:351 [inline] ref_tracker_free+0x710/0x820 lib/ref_tracker.c:236 netdev_tracker_free include/linux/netdevice.h:4156 [inline] netdev_put include/linux/netdevice.h:4173 [inline] netdev_put include/linux/netdevice.h:4169 [inline] ax25_release+0x33f/0xa10 net/ax25/af_ax25.c:1069 __sock_release+0xb0/0x270 net/socket.c:640 sock_close+0x1c/0x30 net/socket.c:1408 ... do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f ... </TASK> ================================================================ Fix the implementation of ax25_setsockopt() by adding increment of refcounts for the new device bound, and decrement of refcounts for the old unbound device.

📍 영향받는 시스템

AX25 프로토콜을 사용하는 Linux 커널 버전 (Syzkaller 보고 기준 6.13.0-rc4 포함)

⚔️ 공격 벡터

로컬 사용자가 SO_BINDTODEVICE 소켓 옵션을 반복적으로 호출하여 메모리 누수를 유도

🛡️ 대응 방법

커널 패치(Commit 9fd75b66b8f6 관련 수정사항)를 적용하여 최신 커널로 업데이트

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel