🔍 CVE-2026-41676

7.5
CVSS Score
HIGH
2026-04-24
2026-07-15 16:17
✅ 완료

🇰🇷 한글 설명

rust-openssl 0.9.27부터 0.10.78 미만 버전에서 발생하는 취약점으로, EVP_PKEY_derive 호출 시 버퍼 길이를 OpenSSL에만 의존하여 처리합니다. OpenSSL 1.1.x 버전의 특정 알고리즘(X25519, X448, DH, HKDF-extract)은 입력된 길이를 무시하고 전체 비밀값을 쓰기 때문에 힙 또는 스택 오버플로우가 발생할 수 있습니다.

💡 쉬운 설명

프로그램이 데이터를 담을 그릇의 크기를 잘못 계산하여, 준비된 공간보다 더 많은 데이터를 강제로 밀어넣는 문제입니다. 이로 인해 프로그램이 갑자기 종료되거나 해커가 시스템을 조작할 수 있는 위험이 있습니다.

🇺🇸 원문 (English)

rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.27 to before 0.10.78, Deriver::derive (and PkeyCtxRef::derive) sets len = buf.len() and passes it as the in/out length to EVP_PKEY_derive, relying on OpenSSL to honor it. On OpenSSL 1.1.x, X25519, X448, DH and HKDF-extract ignore the incoming *keylen, unconditionally writing the full shared secret (32/56/prime-size bytes). A caller passing a short slice gets a heap/stack overflow from safe code. OpenSSL 3.x providers do check, so this only impacts older OpenSSL. This vulnerability is fixed in 0.10.78.

📍 영향받는 시스템

rust-openssl 0.9.27 ~ 0.10.77 버전 및 OpenSSL 1.1.x 사용 환경

⚔️ 공격 벡터

취약한 라이브러리를 사용하는 애플리케이션에 조작된 키 유도 요청을 전달하여 메모리 오버플로우 유발

🛡️ 대응 방법

rust-openssl 버전을 0.10.78 이상으로 업데이트

🔧 검증 코드

명령어 결과에 취약한 버전 범위가 출력되면 해당 라이브러리가 설치되어 있는 상태입니다.

Shell / Script
cargo pkgid rust-openssl | grep -E '0\.(9\.[2-7]|10\.[0-7][0-7])'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

OpenSSL