🇰🇷 한글 설명
PostgreSQL이 패스워드 생성 시 사용자명을 솔트로 사용하여, 예측 가능한 암호화 키로 인해 원격 공격자의 브루트포스 공격이 용이한 취약점이다. 솔트의 엔트로피가 매우 낮아 대규모 사전 공격(dictionary attack)에 매우 취약하며, 강력한 암호화 보장이 불가능하다.
💡 쉬운 설명
PostgreSQL이 비밀번호를 암호화할 때 사용자 이름을 기반으로 하는 열쇠를 사용해서, 해커가 패턴을 쉽게 찾고 비밀번호를 깰 수 있습니다. 마치 자물쇠 열쇠가 항상 같은 재료로 만들어져서 보안이 약해지는 것과 같습니다.
🇺🇸 원문 (English)
PostgreSQL uses the username for a salt when generating passwords, which makes it easier for remote attackers to guess passwords via a brute force attack.
📍 영향받는 시스템
PostgreSQL 7.0.x - 7.2.x 및 초기 8.x 버전 (2002년경 영향받는 버전)
⚔️ 공격 벡터
원격 공격자가 예측 가능한 솔트(사용자명)를 알고 있어 사전에 생성한 레인보우 테이블로 빠른 패스워드 크래킹 가능
🛡️ 대응 방법
PostgreSQL 7.3 이상 최신 버전으로 업그레이드하고 강력한 패스워드 정책 적용 및 연결 시도 제한 구현
🔧 검증 코드
출력된 버전이 7.3 이상이면 취약점 해결됨, 7.2 이하면 즉시 업그레이드 필요
psql --version 2>/dev/null | grep -oE '[0-9]\.[0-9]' | head -1