🔍 CVE-2025-24898

0.0
CVSS Score
UNKNOWN
2025-02-03
2026-06-17 08:59
✅ 완료

🇰🇷 한글 설명

Rust용 OpenSSL 라이브러리에서 ssl::select_next_proto 함수가 잘못된 생명주기로 서버 버퍼 참조를 반환하는 취약점입니다. 서버 버퍼가 클라이언트 버퍼보다 먼저 해제되면 use-after-free가 발생하여 서버 크래시 또는 메모리 유출이 가능합니다.

💡 쉬운 설명

Rust OpenSSL 라이브러리에서 이미 삭제된 메모리에 접근하는 문제가 발생합니다. 이로 인해 프로그램 충돌이나 민감한 데이터 노출의 위험이 있습니다.

🇺🇸 원문 (English)

rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions `ssl::select_next_proto` can return a slice pointing into the `server` argument's buffer but with a lifetime bound to the `client` argument. In situations where the `sever` buffer's lifetime is shorter than the `client` buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crate`openssl` version 0.10.70 fixes the signature of `ssl::select_next_proto` to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of `ssl::select_next_proto` in the callback passed to `SslContextBuilder::set_alpn_select_callback`, code is only affected if the `server` buffer is constructed *within* the callback.

📍 영향받는 시스템

rust-openssl (openssl 크레이트) 0.10.70 이전 버전

⚔️ 공격 벡터

ALPN 콜백 내에서 서버 버퍼를 동적으로 생성하고 ssl::select_next_proto를 호출하는 경우

🛡️ 대응 방법

openssl 0.10.70 이상으로 업그레이드

🔧 검증 코드

0.10.70 이상의 버전이 표시되면 패치됨. 이전 버전이면 즉시 업그레이드 필요

Shell / Script
grep 'openssl' Cargo.toml Cargo.lock 2>/dev/null | grep -oP '(?<=version = ")[^"]+' || cargo tree 2>/dev/null | grep openssl

💻 영향받는 소프트웨어

OpenSSL