🔍 CVE-2025-38544

5.5
CVSS Score
MEDIUM
2025-08-16
2026-11-05 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 rxrpc 모듈에서 사전 할당된 호출 ID 충돌로 인해 오류 처리 경로에서 rxrpc_cleanup_call()의 어서션이 트리거되는 문제가 수정되었습니다. 서비스 준비 단계에서 호출 상태를 설정하고 해제 표시를 한 뒤 정리 함수를 호출하도록 변경되었습니다. 이로 인해 커널 패닉 또는 비정상 동작이 발생할 수 있었습니다.

💡 쉬운 설명

AF_RXRPC를 사용해 서버를 운영하는 프로그램이 잘못된 호출 ID를 사용할 때 커널이 내부 검사에 실패할 수 있었습니다. 이 수정으로 오류 상황에서도 커널이 안전하게 정리 작업을 수행하도록 바뀌었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix bug due to prealloc collision When userspace is using AF_RXRPC to provide a server, it has to preallocate incoming calls and assign to them call IDs that will be used to thread related recvmsg() and sendmsg() together. The preallocated call IDs will automatically be attached to calls as they come in until the pool is empty. To the kernel, the call IDs are just arbitrary numbers, but userspace can use the call ID to hold a pointer to prepared structs. In any case, the user isn't permitted to create two calls with the same call ID (call IDs become available again when the call ends) and EBADSLT should result from sendmsg() if an attempt is made to preallocate a call with an in-use call ID. However, the cleanup in the error handling will trigger both assertions in rxrpc_cleanup_call() because the call isn't marked complete and isn't marked as having been released. Fix this by setting the call state in rxrpc_service_prealloc_one() and then marking it as being released before calling the cleanup function.

📍 영향받는 시스템

AF_RXRPC 모듈을 포함한 수정 이전의 Linux 커널 버전 (rxrpc 사용 환경)

⚔️ 공격 벡터

로컬 사용자 또는 AF_RXRPC 서비스를 사용하는 프로세스가 중복된 호출 ID로 사전 할당을 시도하여 오류 경로를 유발

🛡️ 대응 방법

배포판이 제공하는 최신 Linux 커널 보안 업데이트를 적용하고 재부팅

🔧 검증 코드

커널 버전이 배포판의 수정된 보안 업데이트 버전 이상인지 확인하고, rxrpc 모듈이 로드되지 않았다면 해당 취약점 노출 위험이 없습니다.

Shell / Script
uname -r 2>/dev/null; grep -i rxrpc /proc/modules 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel