피드로 돌아가기
Atom 고갈은 실수가 아니다. 우리 CVE의 3분의 1이다
GeekNewsGeekNews
Security

Atom 고갈은 실수가 아니다. 우리 CVE의 3분의 1이다

Atom 고갈 방지를 위한 existing_atom 함수 도입으로 CVE 33% 감소

neo2026년 5월 28일1intermediate

Context

동적 입력값을 Atom으로 변환하는 과정에서 발생하는 무제한 Atom 생성 구조. 가비지 컬렉션이 불가능한 Atom 특성에 따른 메모리 고갈 및 시스템 다운타임 유발.

Technical Solution

  • 런타임 중 새로운 Atom 생성을 차단하는 existing_atom 계열 함수 도입
  • 입력값이 이미 정의된 Atom 테이블에 존재하는지 확인하는 사전 검증 로직 적용
  • 정의되지 않은 입력값에 대해 신규 Atom 생성 대신 즉각적인 Error를 발생시키는 예외 처리 설계
  • Erlang의 binary_to_existing_atom 및 Elixir의 String.to_existing_atom 활용을 통한 메모리 고정

외부 입력값을 Atom으로 변환할 때 `to_existing_atom` 계열 함수 사용 여부 확인

원문 읽기