🔍 CVE-2026-43492

5.5
CVSS Score
MEDIUM
2026-05-19
2026-10-15 02:19
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 mpi_read_raw_from_sgl() 함수에서 정수 언더플로우 취약점이 발견되었습니다. 특정 조건에서 scatterlist의 제로 바이트 개수가 nbytes보다 많을 경우 언더플로우가 발생하여 커널이 무한 루프에 빠지게 됩니다.

💡 쉬운 설명

컴퓨터가 숫자를 계산할 때 0보다 작은 값을 처리하는 과정에서 오류가 발생하여 시스템이 멈추는 문제입니다. 이로 인해 컴퓨터가 응답하지 않는 서비스 거부(DoS) 상태가 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: lib/crypto: mpi: Fix integer underflow in mpi_read_raw_from_sgl() Yiming reports an integer underflow in mpi_read_raw_from_sgl() when subtracting "lzeros" from the unsigned "nbytes". For this to happen, the scatterlist "sgl" needs to occupy more bytes than the "nbytes" parameter and the first "nbytes + 1" bytes of the scatterlist must be zero. Under these conditions, the while loop iterating over the scatterlist will count more zeroes than "nbytes", subtract the number of zeroes from "nbytes" and cause the underflow. When commit 2d4d1eea540b ("lib/mpi: Add mpi sgl helpers") originally introduced the bug, it couldn't be triggered because all callers of mpi_read_raw_from_sgl() passed a scatterlist whose length was equal to "nbytes". However since commit 63ba4d67594a ("KEYS: asymmetric: Use new crypto interface without scatterlists"), the underflow can now actually be triggered. When invoking a KEYCTL_PKEY_ENCRYPT system call with a larger "out_len" than "in_len" and filling the "in" buffer with zeroes, crypto_akcipher_sync_prep() will create an all-zero scatterlist used for both the "src" and "dst" member of struct akcipher_request and thereby fulfil the conditions to trigger the bug: sys_keyctl() keyctl_pkey_e_d_s() asymmetric_key_eds_op() software_key_eds_op() crypto_akcipher_sync_encrypt() crypto_akcipher_sync_prep() crypto_akcipher_encrypt() rsa_enc() mpi_read_raw_from_sgl() To the user this will be visible as a DoS as the kernel spins forever, causing soft lockup splats as a side effect. Fix it.

📍 영향받는 시스템

리눅스 커널 (commit 63ba4d67594a 이후 버전)

⚔️ 공격 벡터

KEYCTL_PKEY_ENCRYPT 시스템 호출 시 입력 버퍼보다 큰 출력 길이를 지정하고 입력값을 0으로 채워 공격

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 취약점이 수정된 최신 패치 버전인지 확인하십시오.

Shell / Script
uname -r

📊 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