Rust-openssl은 Rust 프로그래밍 언어에 대한 OpenSSL 바인딩을 제공합니다. 0.9.7부터 0.10.79 이전까지 X509Ref::ocsp_responders는 인증서의 AIA 확장에서 OCSP 응답자 URL을 OpensslString으로 반환합니다. OpensslString은 Deref<Target = str>이 원시 바이트를 str::from_utf8_unchecked로 래핑합니다. OpenSSL은 기본 IA5String이 ASCII임을 강제하지 않으므로 OCSP accessLocation에 UTF-8이 아닌 바이트가 있는 인증서는 안전한 Rust 코드가 UTF-8 불변성을 위반하는 &str을 구성하도록 합니다.
Rust-openssl은 Rust 프로그래밍 언어에 대한 OpenSSL 바인딩을 제공합니다. 0.9.7부터 0.10.79 이전까지 X509Ref::ocsp_responders는 인증서의 AIA 확장에서 OCSP 응답자 URL을 OpensslString으로 반환합니다. OpensslString은 Deref<Target = str>이 원시 바이트를 str::from_utf8_unchecked로 래핑합니다. OpenSSL은 기본 IA5String이 ASCII임을 강제하지 않으므로 OCSP accessLocation에 UTF-8이 아닌 바이트가 있는 인증서는 안전한 Rust 코드가 UTF-8 불변성을 위반하는 &str을 구성하게 하여 정의되지 않은 동작을 초래합니다. 이 취약점은 0.10.79에서 수정되었습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 87.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 87.00 |
VPI 공식 vpi-v1 기준