🇰🇷 한글 설명
MariaDB Connector/Node.js 3.3.0부터 3.5.4 버전 사이에서 TLS 지문 검증 과정 중 정의되지 않은 식별자를 참조하는 ReferenceError가 발생합니다. 특정 조건(TLS 활성화, CA 미설정, Ed25519 인증 사용 등)에서 공격자가 자가 서명 인증서를 제시할 경우 클라이언트 프로세스가 종료되어 서비스 거부(DoS) 상태가 될 수 있습니다.
💡 쉬운 설명
데이터베이스에 연결할 때 보안 인증을 확인하는 과정에서 프로그램 오류가 발생하여 프로그램이 갑자기 꺼지는 문제입니다. 공격자가 가짜 인증서를 보내면 연결된 서비스가 멈출 수 있습니다.
🇺🇸 원문 (English)
MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. From 3.3.0 until 3.5.4, the zero-configuration TLS fingerprint-validation path calls Ed25519PasswordAuth.hash() through Authentication.validateFingerPrint, but Ed25519PasswordAuth.hash() references a seed identifier that is not in scope. Exposure requires a MariaDB server reached over TCP, TLS enabled with ssl: true or an ssl object whose rejectUnauthorized value is not false, a password set, no ssl.ca configured, and client_ed25519 negotiated as the authentication plugin. Under those conditions, a legitimate server, malicious server, or network attacker presenting a self-signed certificate can reach this path and cause a synchronous ReferenceError to escape the socket data handler. Under Node.js default uncaught-exception behavior, the client process terminates, causing denial of service. Configurations using a provided CA, rejectUnauthorized: false, another authentication plugin, or a Unix socket do not reach this vulnerable path. This issue is fixed in version 3.5.4.
📍 영향받는 시스템
MariaDB Connector/Node.js 3.3.0 ~ 3.5.4
⚔️ 공격 벡터
TCP를 통해 TLS가 활성화된 상태에서 Ed25519 인증을 사용하는 환경에 자가 서명 인증서를 제시하여 프로세스 종료 유도
🛡️ 대응 방법
MariaDB Connector/Node.js를 3.5.4 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.3.0 이상 3.5.4 이하인지 확인하십시오.
npm list mariadb-connector-node
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server