뉴스 목록
The Hacker News2026. 09. 30.

OpenSSL, 힙 메모리를 암호화하지 않은 채 유출시킬 수 있는 고위험 DTLS 결함 수정

한 줄 요약

OpenSSL이 9월 29일, DTLS(UDP 기반 TLS) 통신에서 힙 메모리(프로그램이 사용 중인 내부 메모리)가 암호화되지 않은 채 상대방에게 유출되거나 프로그램이 다운될 수 있는 고위험(High) 취약점(CVE-2026-84782)을 수정했습니다. 핸드셰이크 메시지가 여러 조각으로 나뉘어 전송되던 중 재전송 타이머가 작동하면 잘못된 위치의 데이터가 다시 전송되면서 발생하는 문제입니다. WebRTC나 인터넷 전화처럼 DTLS를 사용하는 소프트웨어가 영향을 받으며, OpenSSL 4.0.3, 3.6.5, 3.5.9, 3.4.8 버전에서 수정되었습니다. 다만 3.0, 1.1.1, 1.0.2 등 오래된 버전은 유료 지원 고객만 패치를 받을 수 있어, 이를 직접 빌드해 쓰는 기업은 신버전으로 업그레이드하거나 유료 지원 계약이 필요합니다. 아직 실제 악용 사례는 보고되지 않았습니다.

사건

OpenSSL의 DTLS 처리 코드에서 핸드셰이크 메시지 재전송 시 위치 계산 오류로 힙 메모리가 암호화되지 않은 채 외부로 유출되거나 프로그램이 크래시될 수 있는 고위험 취약점(CVE-2026-84782)이 발견되어 패치되었습니다.

영향

WebRTC, 인터넷 전화 등 DTLS를 사용하는 소프트웨어가 영향을 받으며, 공격자가 메모리 내용을 엿보거나 서비스를 마비(DoS)시킬 수 있습니다. CISA는 CVSS 8.2점을 부여했습니다.

원인

핸드셰이크 메시지 전송이 중간에 멈춘 상태에서 재전송 타이머가 작동할 때, 메시지 시작 위치가 아닌 멈춘 지점을 기준으로 재전송하면서 이전 메시지의 남은 데이터(힙 메모리)가 잘못된 라벨로 그대로 전송됩니다.

대응

OpenSSL은 4.0.3, 3.6.5, 3.5.9, 3.4.8 버전에서 공개 패치를 배포했으며, Ubuntu와 Debian도 자체 패키지에 수정본을 반영했습니다. 3.0/1.1.1/1.0.2 등 공개 지원이 종료된 구버전은 유료 지원 계약 고객에게만 패치가 제공됩니다.

실무 포인트

자체적으로 OpenSSL 3.0을 빌드하거나 소프트웨어에 내장해 배포하는 기업은 공개 패치를 받을 수 없으므로, 신규 브랜치(4.0 또는 장기지원판 3.5)로 업그레이드하거나 유료 지원 계약을 검토해야 합니다.

본문

OpenSSL은 9월 29일 패치를 배포하면서, 고위험(High) 등급의 OpenSSL 결함이 DTLS 연결 상대방에게 힙 메모리를 암호화되지 않은 상태로 유출시키거나 프로그램을 크래시시킬 수 있다고 밝혔습니다.

UDP 트래픽에 사용되는 TLS 변형인 DTLS는 응답이 타이머 만료 전에 도착하지 않으면 핸드셰이크 메시지를 재전송합니다. 이러한 유출이나 크래시는 더 큰 핸드셰이크 메시지가 전송 도중 멈춰있는 상태에서 재전송이 시작될 때 발생할 수 있습니다.

CVE-2026-84782로 추적되는 이 결함은 OpenSSL 4.0.3, 3.6.5, 3.5.9, 3.4.8에서 수정되었습니다. 더 오래된 3.0, 1.1.1, 1.0.2 브랜치용 수정 버전은 OpenSSL의 유료 지원(premium support)을 받는 고객에게만 제공됩니다. OpenSSL 3.0은 9월 7일부로 공개 보안 패치 제공이 중단되었습니다.

OpenSSL은 공격자가 메시지가 멈춰 있는 동안 재전송을 유발할 수 있는지 여부를 밝히지 않았으며, 이 결함을 악용한 공격 사례도 보고하지 않았습니다.

DTLS는 예를 들어 WebRTC 데이터 채널을 보호하거나 인터넷 통화용 암호화 키를 설정하는 데 사용됩니다. 소프트웨어는 DTLS에 OpenSSL을 사용하는 경우에만 이 결함에 노출됩니다.

DTLS는 큰 핸드셰이크 메시지를 각각 하나의 UDP 데이터그램에 들어맞는 조각들로 분할합니다. 연결이 당장 더 많은 데이터를 받아들일 수 없으면, 메시지 전송이 도중에 멈추고 나중에 이어질 수 있습니다. 전송이 멈춰 있는 동안에도 재전송 타이머는 여전히 작동해 이전 메시지를 다시 전송할 수 있습니다.

수정 전에는 재전송 시 재전송 대상 메시지의 시작 지점으로 돌아가는 대신, 멈춰있던 메시지의 버퍼상 위치를 그대로 사용했습니다. 재전송된 메시지는 잘못된 라벨을 달고 나갔습니다. 그 본문은 더 큰 메시지에서 남은 바이트들이었고, 이를 읽는 과정에서 버퍼 오버런이 발생할 수 있었습니다.

OpenSSL에 따르면, 잘못 라벨링된 메시지는 힙 메모리를 암호화되지 않은 핸드셰이크 데이터로 상대방에게 전달할 수 있습니다. 읽기 작업이 매핑되지 않은 메모리 영역에 도달하면 프로그램이 크래시됩니다.

OpenSSL은 이 결함을 DTLS 클라이언트나 서버 어느 한쪽에 국한시키지 않으며, 패치는 양쪽 역할 모두에서 테스트되었습니다.

Secorizon 소속의 Laurent Gaffie가 8월 17일 이 결함을 신고했으며, Ryan Hooper가 수정 패치를 개발했습니다.

OpenSSL은 이 결함을 자체 심각도 등급에서 Critical 바로 아래 단계인 High로 평가합니다. 프로젝트의 보안 정책은 High 등급 수정 사항이 나오면 가능한 한 빨리 업데이트를 설치할 것을 권고하고 있습니다.

CISA는 9월 29일 이 결함에 CVSS 점수 10점 만점에 8.2점을 부여했으며, 기밀성(confidentiality)에 대한 영향은 낮음(Low), 가용성(availability)에 대한 영향은 높음(High)으로 평가했습니다. CISA의 기록은 당시 악용 여부를 "없음(none)"으로 표기했습니다. OpenSSL은 심각도 등급 설정에 CVSS를 사용하지 않으며, 외부 기관의 점수는 자체 등급과 크게 다를 수 있다고 밝히고 있습니다.

Ubuntu의 보안 공지는 공격자가 이 결함을 이용해 "잘못된 핸드셰이크 동작이나 서비스 거부(denial of service)"를 일으킬 수 있다고 밝혔습니다. 메모리 유출에 대해서는 언급하지 않았습니다.

어떤 버전이 결함을 수정했는가

이 결함은 OpenSSL 4.0, 3.6, 3.5, 3.4, 3.0, 1.1.1, 1.0.2에 영향을 미치며, 아래 표에 나온 수정 버전 이전의 모든 릴리스가 해당됩니다.

브랜치 수정 버전 제공 대상 지원 상태 4.0 4.0.3 공개 다운로드 2027년 5월 14일까지 지원 3.6 3.6.5 공개 다운로드 2026년 11월 1일까지 지원 3.5 3.5.9 공개 다운로드 장기 지원(LTS) 릴리스, 2030년 4월 8일까지 지원 3.4 3.4.8 공개 다운로드 2026년 10월 22일까지 지원 3.0 3.0.23 유료 지원 고객 전용 공개 지원은 2026년 9월 7일 종료 1.1.1 1.1.1zj 유료 지원 고객 전용 공개 지원 없음 1.0.2 1.0.2zs 유료 지원 고객 전용 공개 지원 없음 3.1, 3.2, 3.3 해당 없음 해당 없음 공개 지원 없음. OpenSSL은 이 브랜치들이 영향을 받는지 확인하지 않았습니다.

OpenSSL은 아직 업데이트할 수 없는 사용자를 위한 우회 방법(workaround)을 제시하지 않고 있습니다. Ubuntu는 9월 29일 자체 패키지에서 이 결함을 수정했으며, 패키지는 이전 OpenSSL 버전 번호 체계를 유지합니다:

  • Ubuntu 26.04 LTS: libssl3t64 3.5.5-1ubuntu3.6
  • Ubuntu 24.04 LTS: libssl3t64 3.0.13-0ubuntu3.16
  • Ubuntu 22.04 LTS: libssl3 3.0.2-0ubuntu1.30

Ubuntu 사용자는 업데이트의 모든 변경 사항이 적용되도록 재부팅해야 합니다.

Debian은 Debian 13에서 openssl 패키지 3.5.7-1~deb13u3 버전으로 이 결함을 수정했으며, DSA-6531-1로 발표되었습니다. Debian의 보안 추적 시스템은 9월 30일 07:36 UTC 기준으로 여전히 Debian 12를 취약한 것으로 표시하고 있습니다.

OpenSSL 3.0 사용자가 할 수 있는 일

마지막 공개 3.0 릴리스는 8월 25일에 나온 3.0.22였습니다. 3.0.23 버전은 OpenSSL이 공개하지 않은 첫 번째 3.0 보안 릴리스입니다. 이 버전은 9월 29일 공개된 14개 결함 중 CVE-2026-84782를 포함해 6개를 수정합니다.

OpenSSL 3.0을 사용하는 Ubuntu 22.04와 24.04의 경우, 위에 나열된 패키지에 이미 수정 사항이 반영되어 있습니다. OpenSSL 3.0을 직접 빌드하거나 자체 소프트웨어에 내장해 배포하는 이들은 OpenSSL로부터 공개된 수정 방법을 받을 수 없습니다.

OpenSSL은 4.0이나 장기 지원 릴리스인 3.5 같은 신규 브랜치로 업그레이드할 것을 권장합니다. 다른 선택지는 유료 지원 계약으로, 공개 지원 종료일이 지난 릴리스에 대해서도 지속적으로 보안 패치를 받을 수 있게 해줍니다.

9월 29일 릴리스는 이 외에도 13개의 다른 결함을 수정합니다. 그중 가장 심각한 CVE-2026-84783은 Moderate(중간) 등급이며 OpenSSL 4.0에만 영향을 미칩니다.

인증되지 않은 원격 상대방이 이를 이용해 멀티스레드 TLS 클라이언트, 또는 클라이언트 인증서를 요구하는 멀티스레드 TLS 서버를 크래시시킬 수 있습니다. 이는 여러 연결이 동시에 동일한 신뢰된 CA 인증서를 기준으로 첫 번째 인증서 체인을 구성할 때만 발생할 수 있습니다.

또 다른 DTLS 결함인 CVE-2026-75806은 Low(낮음) 등급입니다. 이는 AEAD 암호 스위트를 사용하는 기존 DTLS 1.2 연결에 영향을 미칩니다. 해당 연결에 데이터그램을 보낼 수 있는 사람이라면 누구든 어떤 키도 알지 못한 채 너무 짧은 데이터그램 하나만으로 연결을 종료시킬 수 있습니다.

나머지 11개 결함도 Low 등급이며, OpenSSL의 QUIC 코드에 있는 5개 결함과 ECDSA 및 SM2 코드의 타이밍 사이드채널(timing side-channel) 3개가 포함됩니다.

출처
The Hacker News · thehackernews.com
원문 보기

분야별 뉴스

관심 분야의 보안 이슈를 모아 보세요.

TORUN SECURITY

투런이 제공하는 보안 솔루션

공격 표면 관리부터 엔드포인트·내부정보 보호까지, 기업 환경에 맞는 보안 솔루션을 투런이 함께 설계합니다.