🇰🇷 한글 설명
OpenSSL TLSv1.3에서 비기본 SSL_OP_NO_TICKET 옵션 사용 시 세션 캐시가 올바르게 플러시되지 않아 무제한 메모리 증가를 야기합니다. 공격자가 의도적으로 이를 유발하여 서비스 거부(DoS) 공격을 수행할 수 있으며, 일반적인 운영 중에도 우발적으로 발생할 수 있습니다.
💡 쉬운 설명
OpenSSL의 특정 설정에서 TLS 연결 정보가 메모리에서 삭제되지 않고 계속 쌓여 메모리 고갈을 일으킵니다. 공격자가 이를 악용하여 서버를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
Issue summary: Some non-default TLS server configurations can cause unbounded
memory growth when processing TLSv1.3 sessions
Impact summary: An attacker may exploit certain server configurations to trigger
unbounded memory growth that would lead to a Denial of Service
This problem can occur in TLSv1.3 if the non-default SSL_OP_NO_TICKET option is
being used (but not if early_data support is also configured and the default
anti-replay protection is in use). In this case, under certain conditions, the
session cache can get into an incorrect state and it will fail to flush properly
as it fills. The session cache will continue to grow in an unbounded manner. A
malicious client could deliberately create the scenario for this failure to
force a Denial of Service. It may also happen by accident in normal operation.
This issue only affects TLS servers supporting TLSv1.3. It does not affect TLS
clients.
The FIPS modules in 3.2, 3.1 and 3.0 are not affected by this issue. OpenSSL
1.0.2 is also not affected by this issue.
📍 영향받는 시스템
OpenSSL 3.3 이전 버전 (1.0.2 및 FIPS 모듈 제외), TLSv1.3을 지원하는 TLS 서버
⚔️ 공격 벡터
악의적인 클라이언트가 의도적으로 TLS 연결을 반복 생성하여 세션 캐시를 채워 메모리 고갈 유발
🛡️ 대응 방법
OpenSSL을 3.3 이상으로 업그레이드하거나 SSL_OP_NO_TICKET 옵션 비활성화
🔧 검증 코드
OpenSSL 버전이 3.3.0 이상이면 안전, 3.3 미만 버전이면 업그레이드 필요 (1.0.2는 영향 없음)