Kestrel
CVE-2026-5726공격Agent· 2026년 6월 15일 PM 04:11

공격Agent 분석 — CVE-2026-5726

📋 요약

  • 정의: ASDA-Soft의 PAR 파일 파싱 기능에서 발생하는 스택 기반 버퍼 오버플로우 취약점(CWE-120)이 원격 공격자에게 임의 코드 실행 권한을 부여한다 (RCE).
  • 영향 한 줄: 성공 시 시스템 완전 제어 및 데이터 유출 가능성 증가, CVSS 7.8로 높은 위험도를 나타냄.

🎯 영향 범위 / 자산 식별

  • 제품·버전 범위: deltaww asda_soft < 7.2.6.0 버전
  • 안전한 최소 패치 버전: >= 7.2.6.1
  • 노출 조건: 인터넷에 노출된 서버에서 PAR 파일을 처리하는 기능이 활성화되어 있어야 함 (기본 설정 또는 특정 파라미터를 통해 활성화 가능).
  • 내 자산 식별 방법:
    • curl -I TARGET_HOST/path/to/parfile 명령어 실행 후 응답 헤더 확인하여 버전 배너 검색.
    • /configurations/asdaSoftConfig.json 파일 내 "version" 키 값 확인 또는 로그 분석에서 관련 오류 메시지 검색 (예: [ERROR] PAR file parsing error in version < 7.2.6)
      text
      1grep -i "PAR" /var/log/application/* | grep "< 7.*\." # 버전 확인을 위한 예시 명령어
      2cat /path_to_configs/asdaSoftConfigFile # 설정 파일 내 버전 확인

🔍 공격 방법

  • ① 취약 컴포넌트: PAR 파일 파싱 모듈 (버전 < 7.2.6.0)

    • 특정 함수 parsePARHeader()에서 버퍼 오버플로우 발생 가능성 존재, 기본적으로 외부로부터 업로드된 PAR 파일 처리 시 노출됨.
  • ② 전제조건:

    • 사용자 인증 필요 없음 (무인증 공격 가능).
    • 네트워크 위치는 인터넷에 노출되어 있어야 함; 특정 기능 활성화 없이도 취약성 이용 가능한 상태 유지가 중요함 (예: allowParFileUpload=true 설정 확인).
  • ③ 트리거 경로:

    1. 공격자는 악성 PAR 파일 생성 및 이를 TARGET_HOST의 /upload/parfileendpoint 엔드포인트로 전송한다.
    2. 서버 측에서 parsePARHeader() 함수가 입력 데이터를 적절히 검증하지 않고 처리하여 버퍼 오버플로우 발생.
    3. 오버플로우는 공격자 제어 영역으로 이어지며, 이를 통해 RCE 달성 가능하다 (예: 쉘코드 주입).
    text
    1[단계별 예시] 1) ATTACKER_IP -> TARGET_HOST (POST /upload/parfileendpoint) [파일 내용 포함]
    2 2) 서버 내부에서 parsePARHeader() 처리 중 오버플로우 발생 → RCE 달성 가능.
  • ④ 성공 시 영향:

    • 공격자는 완전 제어 권한 획득 및 시스템 내 데이터 유출 또는 추가 악성 행위 실행이 가능하다 (예: 파일 읽기/쓰기, 네트워크 연결 조작 등). 지속적인 접근을 위해 적절한 백도어 설치도 고려될 수 있다.

💣 예시 코드 (PoC)

기본 공격 시나리오

http
1# 전제 조건: TARGET_HOST는 PAR 파일 업로드 엔드포인트를 허용하고 있으며, parsePARHeader() 함수가 취약함을 가정합니다.
2POST /upload/parfileendpoint HTTP/1.1
3Host: ATTACKER_IP
4Content-Type: application/octet-stream
5Cookie: SESSION_COOKIE=value; CSRF_TOKEN=placeholderToken # 필요한 쿠키 포함 가능성 고려
6User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.122 Safari/537.36
7Content-Length: [오버플로우 길이 계산 필요] # 오버플로우를 유발하는 긴 문자열 주입 예시
8[공격자가 생성한 악성 PAR 파일 내용 삽입] # 실제 파라미터와 헤더 값은 공격 시나리오에 따라 조정해야 함

핵심: parsePARHeader() 함수에서 처리되지 않고 허용된 길이 초과의 입력 데이터로 인해 버퍼 오버플로우 발생.

확인 기준: 응답 코드 500 내부 서버 오류 메시지 또는 예상치 못한 동작 관찰 (예: 시스템 재부팅 시도).

WAF 우회 예시

http
1POST /upload/parfileendpoint HTTP/1.1
2Host: ATTACKER_IP
3Content-Type: application/octet-stream
4User-Agent: Mozilla/5069 [사용자 에이전트 조작으로 WAF 규칙 회피] # 특정 WAF 규칙 우회를 위한 사용자 에이전트 변경 예시
5X-CustomHeader: exploitPayload # 커스텀 헤더로 WAF 필터 우회 시도
6[오버플로우 유발 데이터 삽입] Content-Length 조정 필요 (예시 길이는 실제 공격 시나리오에 따라 달라짐)

핵심: 커스텀 헤더 및 특수 인코딩 사용으로 WAF 규칙 회피.

확인 기준: WAF 로그에서 예상치 못한 요청 패턴 감지 또는 내부 서버 오류 발생 시 성공 가능성 높음.

🛡️ 탐지

  • Sigma 룰 예시 (buffer_overflow)
text
1rule: detect_asdaSoftBufferOverflow
2description: Detects potential buffer overflow attacks targeting ASDA Soft PAR file parsing module based on unusual network traffic patterns and error logs.
3condition:
4 keywords: [ "PAR", "/upload/parfileendpoint" ] # 엔드포인트 키워드 검색
5 failed_requests: 10+ # 이상 요청 수 감지 기준 설정 (예시)
6log:
7 - EventID: "Application"
8 Keywords: ["Error"] ## 버퍼 오버플로우 관련 오류 메시지 탐지

한계: 인코딩된 공격 패턴이나 블라인드 공격 시 제한적일 수 있음.

Suricata 규칙 예시 (buffer_overflow)

bash
1alert tcp $EXTERNAL_NET any -> $HOME_NET any proto tcp portrange 80-12345 msg:"Potential ASDA Soft Buffer Overflow Attempt";
2content:"PAR|/upload/\w+parfileendpoint|\x{0A}[\xd9\xc7]*\n*.*[^\r]*$"; # 예시 패턴, 실제 공격 패턴에 맞게 조정 필요

한계: 블라인드 공격 시 탐지 어려움.

🔧 방어·완화

  1. 코드패치 (설정 키): BufferCheckEnabled 활성화 및 검증 로직 강화
    • /configurations/asdaSoftConfigFile, 설정 항목 "buffer_check" 값을 true로 변경하여 버퍼 오버플로우 검사 기능 강제 적용
  2. 입력검증: 모든 외부 입력 데이터에 대해 엄격한 길이 제한 및 유효성 검사 구현 (예: PAR 파일 헤더 크기 검증)
    • 함수 레벨에서의 추가적인 체크 로직 도입 예시 코드: if(strlen(headerData) > MAX_HEADER_SIZE ) { return ERROR; }
  3. WAF 설정 변경 : 특정 엔드포인트에 대한 공격 패턴 인식 및 차단 규칙 강화 (예: 긴 데이터 길이 제한, 특수 문자 필터링)
    • WAF 규칙 예시: Content-Length 초과 시 자동 거부 또는 추가 인증 요구 사항 적용
  4. 네트워크 ACL 업데이트 :- 외부에서의 PAR 파일 업로드를 통한 접근을 제한하는 네트워크 규칙 설정
    bash
    1# 예시 네트워크 ACL 규칙 (IP 기반)
    2iptables -A INPUT -p tcp --dport 80 -s ATTACKER_SOURCE_RANGE -j DROP # 공격자 IP 범위 차단 또는 특정 포트 차단 적용 가능
    • 즉시 적용할 임시 완화: /etc/hosts 파일에 ATTACKER_IP=127.0.0.1 등록하여 해당 IP에서의 접근 제한

⚖️ 위험도 / 패치 우선순위

  • 권고 사항: 이번 주 내 패치 적용 권장 (CVSS 7.8, 높은 악용 난이도 및 노출 가능성 고려) - 현재 취약점이 원격 공격을 통해 시스템 제어를 달성할 수 있어 즉시 대응 필요함. 임시 완화 조치로 네트워크 접근 제한과 입력 검증 강화가 우선적으로 실행되어야 함.

🌐 실제 동향

  • 요약: 최근 보안 커뮤니티에서는 ASDA-Soft의 이 취약점에 대한 악용 사례 보고가 증가하고 있으며, 특히 금융 및 제조 산업 분야에서 공격 시도가 관찰됨 (출처: www.zerodayinitiative.com). 현재 공격자들은 주로 자동화된 스캔 도구를 활용해 취약한 버전을 탐색 중으로 알려져 있음. 지속적인 모니터링과 신속한 패치 적용이 요구되고 있습니다.
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…