CVE-2026-84308 in phpseclib
요약
\~에 의해 VulDB • 2026. 09. 01.
phpseclib는 PHP 기반의 보안 통신 라이브러리입니다. 버전 3.0.57 및 4.0.1 이전에서 phpseclib/Math/PrimeField/Integer.php 내 순수 PHP로 구현된 X25519 스칼라 곱셈 연산은 add() 및 subtract() 함수 내에서 데이터 의존적 조건부 모듈러 감소를 수행합니다. phpseclib/Crypt/EC/BaseCurves/Montgomery.php의 몽고메리 사다리(Montgomery ladder) 과정에서 각 단계의 감소 동작은 비밀 스칼라의 접두어(prefix)에 따라 달라지며, 이는 단계별 타이밍 관측 및 libgmp 호출 횟수 관측을 유발하여 재사용된 251비트 클램프(private scalar)를 노출시킬 수 있습니다. phpseclib/Crypt/EC/Formats/Keys/MontgomeryPrivate.php의 파생 경로는 네이티브 엔진 확인 없이 순수 PHP 곱셈을 호출하며, ext-sodium가 사용 불가능한 경우 phpseclib/Crypt/EC/Formats/Keys/PKCS8.php에서도 해당 경로에 도달합니다. 공격에는 재사용되거나 장기간 유효한 X25519 개인 키의 존재, 대응되는 공개키의 지식, 순수 PHP 경로의 실행, 그리고 개별 사다리 단계 또는 libgmp 진입점 호출을 식별할 수 있는 로컬 관측자(local observer)가 필요합니다. 에페메럴(ephemeral) X25519 키는 phpseclib의 일반적인 SSH 교환 경로 포함하여 영향을 받지 않습니다. 스칼라가 복구되면 해당 키를 재사용하는 모든 작업이 영구적으로 침해됩니다. 이 문제는 버전 3.0.57 및 4.0.1에서 수정되었습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.