🔍 CVE-2024-53138

9.8
CVSS Score
CRITICAL
2024-12-04
2026-10-15 22:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mlx5e 드라이버 내 kTLS 처리 과정에서 페이지 참조 횟수(refcounting)를 잘못 계산하는 취약점이 발견되었습니다. 대형 폴리오(large folios)를 사용하는 환경에서 get_page()와 page_ref_inc() API가 혼용되어 사용됨에 따라, 메모리 해제 시 참조 횟수가 과도하게 감소하여 시스템 오류를 유발할 수 있습니다.

💡 쉬운 설명

메모리를 관리하는 규칙이 일관되지 않아, 컴퓨터가 사용 중인 메모리를 너무 빨리 해제해 버리는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 예상치 못한 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: kTLS, Fix incorrect page refcounting The kTLS tx handling code is using a mix of get_page() and page_ref_inc() APIs to increment the page reference. But on the release path (mlx5e_ktls_tx_handle_resync_dump_comp()), only put_page() is used. This is an issue when using pages from large folios: the get_page() references are stored on the folio page while the page_ref_inc() references are stored directly in the given page. On release the folio page will be dereferenced too many times. This was found while doing kTLS testing with sendfile() + ZC when the served file was read from NFS on a kernel with NFS large folios support (commit 49b29a573da8 ("nfs: add support for large folios")).

📍 영향받는 시스템

NFS large folios 지원 기능이 활성화된 커널을 사용하는 Linux 시스템 (mlx5e 드라이버 사용 환경)

⚔️ 공격 벡터

로컬 공격자가 kTLS와 sendfile()을 결합하여 특정 메모리 관리 경로를 트리거함으로써 시스템 불안정 유도

🛡️ 대응 방법

해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel