🇰🇷 한글 설명
Firebird는 오픈소스 관계형 데이터베이스 관리 시스템입니다. 5.0.4, 4.0.7, 3.0.14 이전 버전에서는 인증 과정에서 CNCT_specific_data 세그먼트를 처리할 때 세그먼트가 오름차순으로만 도착한다고 가정합니다. 세그먼트가 순서대로 도착하지 않으면 Array 클래스의 grow() 메서드가 음수 크기 값을 계산하여 SIGSEGV 충돌이 발생합니다. 인증되지 않은 공격자가 서버의 IP와 포트만 알아도 서버를 충돌시킬 수 있습니다.
💡 쉬운 설명
데이터베이스 서버가 데이터를 받는 순서를 잘못 처리하는 결함이 있습니다. 로그인하지 않은 외부인이 잘못된 순서로 데이터를 보내면 서버가 멈출 수 있습니다.
🇺🇸 원문 (English)
Firebird is an open-source relational database management system. In versions prior to 5.0.4, 4.0.7 and 3.0.14, when processing CNCT_specific_data segments during authentication, the server assumes segments arrive in strictly ascending order. If segments arrive out of order, the Array class's grow() method computes a negative size value, causing a SIGSEGV crash. An unauthenticated attacker who knows only the server's IP and port can exploit this to crash the server. This issue has been fixed in versions 5.0.4, 4.0.7 and 3.0.14.
📍 영향받는 시스템
Firebird 5.0.4 미만, 4.0.7 미만, 3.0.14 미만 버전
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 Firebird 서버 포트로 순서가 뒤섞인 CNCT_specific_data 세그먼트를 전송하여 서비스 거부(크래시)를 유발
🛡️ 대응 방법
Firebird 5.0.4, 4.0.7, 3.0.14 이상 버전으로 업데이트하고 필요 시 네트워크 접근을 제한
🔧 검증 코드
출력된 버전이 5.0.4, 4.0.7, 3.0.14 중 해당 브랜치의 패치 버전 이상이면 수정된 것이고, 그보다 낮으면 취약한 것입니다.
firebird -z 2>/dev/null | head -n 1 || isql -z 2>/dev/null | head -n 1
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
💻 영향받는 소프트웨어
Multi-Domain Security Management Server