🔍 CVE-2025-64429

6.5
CVSS Score
MEDIUM
2025-11-12
2026-10-19 13:10
✅ 완료

🇰🇷 한글 설명

DuckDB의 블록 기반 암호화 구현 과정에서 보안이 취약한 난수 생성기 사용, 메모리 내 민감 데이터 잔류, 암호화 모드 강제 다운그레이드 가능성 등의 결함이 발견되었습니다. 공격자는 이를 통해 암호화 키를 탈취하거나 무결성 검사를 우회하여 데이터에 접근할 수 있습니다.

💡 쉬운 설명

데이터베이스를 암호화할 때 사용하는 비밀번호 생성 방식이 약하거나, 암호화된 데이터를 보호하는 장치가 제대로 작동하지 않는 문제입니다. 해커가 이 허점을 이용하면 암호화된 데이터를 몰래 읽거나 내용을 조작할 수 있습니다.

🇺🇸 원문 (English)

DuckDB is a SQL database management system. DuckDB implemented block-based encryption of DB on the filesystem starting with DuckDB 1.4.0. There are a few issues related to this implementation. The DuckDB can fall back to an insecure random number generator (pcg32) to generate cryptographic keys or IVs. When clearing keys from memory, the compiler may remove the memset() and leave sensitive data on the heap. By modifying the database header, an attacker could downgrade the encryption mode from GCM to CTR to bypass integrity checks. There may be a failure to check return value on call to OpenSSL `rand_bytes()`. An attacker could use public IVs to compromise the internal state of RNG and determine the randomly generated key used to encrypt temporary files, get access to cryptographic keys if they have access to process memory (e.g. through memory leak),circumvent GCM integrity checks, and/or influence the OpenSSL random number generator and DuckDB would not be able to detect a failure of the generator. Version 1.4.2 has disabled the insecure random number generator by no longer using the fallback to write to or create databases. Instead, DuckDB will now attempt to install and load the OpenSSL implementation in the `httpfs` extension. DuckDB now uses secure MbedTLS primitive to clear memory as recommended and requires explicit specification of ciphers without integrity checks like CTR on `ATTACH`. Additionally, DuckDB now checks the return code.

📍 영향받는 시스템

DuckDB 1.4.0 미만 버전 (1.4.2 미만 버전 포함)

⚔️ 공격 벡터

데이터베이스 헤더 수정, 메모리 누출 활용, 또는 취약한 난수 생성기를 이용한 암호화 키 예측

🛡️ 대응 방법

DuckDB를 보안 패치가 적용된 최신 버전인 1.4.2 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.4.2 미만인 경우 해당 취약점에 노출된 상태입니다.

Shell / Script
duckdb --version 2>/dev/null || echo 'DuckDB not installed'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

OpenSSL