🔍 CVE-2026-34752

7.5
CVSS Score
HIGH
2026-04-02
2026-10-06 22:10
✅ 완료

🇰🇷 한글 설명

Haraka는 Node.js 기반의 메일 서버입니다. 버전 3.1.4 이전 버전에서는 이메일 헤더 이름으로 '__proto__:'를 사용하여 메일을 보낼 경우 Haraka 워커 프로세스가 충돌하여 중단되는 취약점이 존재합니다. 이 문제는 3.1.4 버전에서 수정되었습니다.

💡 쉬운 설명

공격자가 특수한 이름(__proto__)의 헤더가 포함된 이메일을 보내면 메일 서버가 강제로 종료되는 현상입니다. 이로 인해 메일 서비스가 중단되는 서비스 거부(DoS) 공격이 가능합니다.

🇺🇸 원문 (English)

Haraka is a Node.js mail server. Prior to version 3.1.4, sending an email with __proto__: as a header name crashes the Haraka worker process. This issue has been patched in version 3.1.4.

📍 영향받는 시스템

Haraka 버전 3.1.4 미만

⚔️ 공격 벡터

공격자가 '__proto__'라는 특수 키워드를 메일 헤더에 포함시켜 전송함으로써 Node.js의 프로토타입 오염(Prototype Pollution) 메커니즘을 통해 서버 프로세스의 크래시를 유도합니다.

🛡️ 대응 방법

Haraka를 최신 버전인 3.1.4 이상으로 업데이트하십시오.

🔧 검증 코드

이 코드는 Python 3 환경에서 실행 가능하며, 시스템에 설치된 npm 글로벌 패키지 목록을 통해 Haraka의 버전을 확인합니다. 실행을 위해 npm이 설치되어 있어야 하며, 권한 문제 발생 시 sudo 또는 관리자 권한으로 실행하십시오.

Shell / Script
import subprocess
import json
import re

def check_haraka_version():
    try:
        # 글로벌 설치된 haraka 버전 확인
        result = subprocess.check_output(['npm', 'list', '-g', 'haraka'], stderr=subprocess.STDOUT).decode('utf-8')
        match = re.search(r'haraka@([\d.]+)', result)
        
        if match:
            version_str = match.group(1)
            version_parts = [int(x) for x in version_str.split('.')]
            
            # 버전 비교 (3.1.4 미만인지 확인)
            if version_parts < [3, 1, 4]:
                return {"result": "취약", "reason": f"설치된 Haraka 버전({version_str})이 패치 버전(3.1.4)보다 낮습니다."}
            else:
                return {"result": "양호", "reason": f"설치된 Haraka 버전({version_str})이 패치 버전(3.1.4) 이상입니다."}
        else:
            return {"result": "양호", "reason": "시스템에서 Haraka 패키지를 찾을 수 없습니다."}
    except FileNotFoundError:
        return {"result": "양호", "reason": "npm 명령어를 찾을 수 없어 Haraka가 설치되지 않은 것으로 판단됩니다."}
    except Exception as e:
        return {"result": "양호", "reason": f"검사 중 오류 발생: {str(e)}"}

print(json.dumps(check_haraka_version()))

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js