메인 콘텐츠로 건너뛰기

CVE-2026-16317 및 CVE-2026-16318: TLS/SSL 프로토콜의 오픈소스 구현인 s2n-tls 관련 취약점

공지 ID: 2026-062-AWS
범위: AWS
콘텐츠 유형: 중요(주의 필요)
게시일: 2026년 7월 21일 오후 1시(PDT)

설명:

s2n-tls는 TLS/SSL 프로토콜을 C99로 구현한 오픈소스입니다. 두 가지 서로 다른 문제를 확인했습니다.

  • CVE-2026-16317: s2n-tls에서 TLS 1.3 암호화 레코드의 무음 폐기 현상
    s2n-tls의 TLS 1.3 암호화 레코드에서 외부 content_type 바이트 검증이 누락되어 활성 중간자가 엔드포인트에서 수정을 감지하지 않고도 개별 애플리케이션 데이터 레코드를 임의로 누락시킬 수 있습니다. RFC 8446 섹션 5.2에서는 암호화된 모든 TLS 1.3 레코드의 외부 content_type이 application_data(0x17)여야 한다고 규정하고 있습니다. s2n-tls AEAD 구현은 실제 와이어 바이트를 사용하지 않고 추가 인증 데이터에 이 값을 하드코딩하므로 외부 content_type은 인증 태그로 보호되지 않습니다. 모든 TLS 1.3 연결이 영향을 받습니다. TLS 클라이언트와 서버 모두 영향을 받습니다. TLS 1.2 및 QUIC 연결은 영향을 받지 않습니다.

  • CVE-2026-16318: s2n-tls의 HelloRetryRequest 중 QUIC 전송 파라미터 메모리 누수 취약점
    s2n-tls의 QUIC 전송 파라미터 확장 핸들러에서 s2n_realloc 대신 s2n_alloc을 잘못 사용하면 QUIC이 활성화된 TLS 1.3 연결이 HelloRetryRequest를 거칠 때마다 메모리 할당이 하나씩 누수됩니다. 이 문제는 서버가 선호하지 않는 키 공유 그룹을 클라이언트가 제안할 때 정상적인 핸드셰이크 과정에서 발생할 수 있으며, 장기 실행되는 서버 프로세스에서 메모리 소비 증가로 이어질 수 있습니다. QUIC이 활성화된 배포만 영향을 받습니다.

영향을 받는 버전: v1.7.5 이하

해결 방법:

이러한 문제는 s2n-tls 버전 v1.7.6에서 해결되었습니다. 최신 버전으로 업그레이드하고, 새로운 수정 사항이 반영되도록 포크되거나 파생된 코드에 패치를 적용하는 것이 좋습니다.

대안:

CVE-2026-16317(TLS 1.3 암호화 레코드의 무음 폐기) 취약점의 경우, 이 문제를 완전히 완화할 수 있는 해결 방법은 존재하지 않습니다. s2n-tls가 TLS 1.2 보안 정책만 사용하도록 설정하면 취약한 코드 경로를 피할 수 있지만, TLS 1.3의 보안상 이점이 사라지므로 권장되지 않습니다.

CVE-2026-16318(HelloRetryRequest 중 QUIC 전송 파라미터 메모리 누수) 취약점의 경우 QUIC을 활성화하지 않은 배포 환경은 영향을 받지 않으며 별도의 조치가 필요하지 않습니다. QUIC이 활성화된 배포 환경에서는 서버 프로세스를 주기적으로 재시작하면 연결 불가능한 메모리를 임시 완화 방안으로 회수할 수 있습니다.

참고 사항:


보안 관련 질문이나 우려 사항이 있는 경우 이메일(aws-security@amazon.com)을 통해 문의하세요.