속보
개보위, 개인정보 보호 우수기업 신청 접수 시작NVD, CVSS 4.0 전환 완료 — 기존 CVSS 3.x 병행 표기 종료EU AI Act 고위험 AI 분류기준 변경 예고 — 국내 영향 분석BCP·DR 인증 의무화 논의 가속 — 금융·의료 분야 선적용 전망개보위, 개인정보 보호 우수기업 신청 접수 시작NVD, CVSS 4.0 전환 완료 — 기존 CVSS 3.x 병행 표기 종료EU AI Act 고위험 AI 분류기준 변경 예고 — 국내 영향 분석BCP·DR 인증 의무화 논의 가속 — 금융·의료 분야 선적용 전망
CVE·취약점AI 초안

Keras 3.14.0 Lambda 레이어 역직렬화 취약점, CVSS 9.8 Critical 등급 임의코드실행 위험

케라스 3.14.0 버전에서 Lambda 레이어의 safe_mode 검증 우회로 인한 임의 코드 실행 취약점이 발견됐다. None 값 처리 오류로 공격자가 marshal 바이트코드를 역직렬화할 수 있다.

백남정 기자
입력 2026년 7월 10일·원문 보기 ↗
단축URLhttps://privacynews.kr/s/885925

핵심 요약

- 케라스(Keras) 3.14.0 버전의 Lambda 레이어에서 역직렬화 과정의 safe_mode 검증 로직 오류로 임의 코드 실행이 가능한 치명적 취약점 발견 - `_raise_for_lambda_deserialization()` 함수가 None(미설정)과 False(명시적 비활성화)를 혼동하여 보안 가드를 우회하는 로직 에러 존재 - CVSS 9.8점 Critical 등급으로, `keras.layers.deserialize()`, `keras.models.clone_model()` 등 다수 API가 영향권에 포함

주요 내용

2026년 7월, 딥러닝 프레임워크 케라스(keras-team/keras)의 3.14.0 버전에서 치명적인 역직렬화 취약점이 공개됐다. CVE-2026-12481로 등록된 이 취약점은 CVSS 3.x 기준 9.8점의 Critical 등급으로 평가되며, 공격자가 서버 또는 사용자 프로세스 컨텍스트에서 OS 수준의 임의 코드를 실행할 수 있는 심각한 보안 위협이다.

취약점의 핵심은 Lambda 레이어의 from_config() 메서드 호출 시 safe_mode 매개변수 검증 로직의 설계 결함에 있다. SafeModeScope 컨텍스트 외부에서 from_config()가 호출될 경우 safe_mode는 기본값인 None으로 설정되는데, _raise_for_lambda_deserialization() 함수는 이를 False(보안 검증 명시적 비활성화)와 동일하게 처리하는 논리적 오류를 범한다. 이는 전형적인 default-deny 원칙 위반 사례로, None 상태를 안전하지 않은 것으로 간주해야 함에도 불구하고 보안 가드를 우회하도록 구현된 것이다.

공격 벡터는 keras.layers.deserialize(config), keras.models.clone_model(model)Lambda.from_config(config)의 직접 호출 등 다양한 API를 통해 실현 가능하다. 공격자는 악의적으로 조작된 설정 파일이나 모델 구성을 제공함으로써 marshal 포맷의 바이트코드를 역직렬화시킬 수 있으며, 이는 Python 인터프리터에서 즉시 실행 가능한 코드로 변환된다. 특히 ML 모델 공유 플랫폼이나 자동화된 모델 로딩 파이프라인에서 신뢰할 수 없는 소스의 모델을 처리할 경우 치명적이다.

Huntr 보안 플랫폼을 통해 처음 보고된 이 취약점은 역직렬화 공격의 전형적 패턴을 보여준다. marshal, pickle과 같은 Python의 직렬화 모듈은 본질적으로 코드 실행 기능을 포함하고 있어, 신뢰할 수 없는 데이터의 역직렬화는 항상 critical한 보안 리스크를 수반한다.

전문가 시각

ISMS-P 선임심사원 관점에서 본 취약점은 안전한 코딩 원칙 중 'Secure by Default' 개념의 실패 사례다. safe_mode의 기본값이 None일 때 이를 안전한 상태(True)로 해석하지 않고 검증을 우회하도록 한 것은 설계 단계의 보안 통제 실패를 의미한다. 특히 SafeModeScope 컨텍스트 관리자가 존재함에도 불구하고 개발자가 명시적으로 사용하지 않을 경우 자동으로 안전하지 않은 동작을 하도록 구현된 것은 API 설계의 중대한 결함이다.

기업 환경에서는 케라스 기반 ML 파이프라인에 대한 긴급 점검이 필요하다. 외부에서 제공받은 사전 훈련 모델(pre-trained model)을 로드하는 모든 코드 경로, 모델 버전 관리 시스템, 자동화된 모델 배포 프로세스를 우선 검토해야 한다. 임시 완화 조치로는 모든 from_config() 호출을 SafeModeScope(True) 컨텍스트로 감싸거나, Lambda 레이어를 사용하는 모델의 역직렬화를 차단하는 것을 권장한다. 근본적으로는 신뢰할 수 없는 소스의 모델 파일에 대한 샌드박스 환경 검증, 디지털 서명 검증 체계 도입이 필요하다.

영향받는 시스템 및 조치사항

영향 범위: - keras-team/keras 버전 3.14.0 - Lambda 레이어를 포함한 모델을 역직렬화하는 모든 환경 - 특히 외부 소스의 모델 파일을 처리하는 ML 서비스, 모델 허브, 자동화 파이프라인

CVSS 3.x 점수 해석 (9.8 Critical): - 공격 복잡도(AC): Low - 특별한 조건 없이 공격 가능 - 권한 요구(PR): None - 인증 불필요 - 사용자 상호작용(UI): None - 사용자 개입 불필요 - 영향 범위: 기밀성(C), 무결성(I), 가용성(A) 모두 High

조치사항: 1. 즉시 조치: 케라스를 최신 패치 버전으로 업데이트 (3.14.1 이상, 공식 권고 확인) 2. 임시 완화: 모든 모델 역직렬화 코드를 with keras.saving.SafeModeScope(True): 블록으로 감싸기 3. 코드 검토: keras.layers.deserialize(), clone_model(), Lambda.from_config() 호출 지점 전수 조사 4. 입력 검증: 외부 소스 모델 파일에 대한 화이트리스트 기반 검증 체계 구축

CPPG·ISMS-P 연계 포인트

1. 안전한 역직렬화 (Secure Deserialization) 역직렬화는 바이트 스트림을 객체로 복원하는 과정에서 코드 실행을 유발할 수 있는 고위험 작업이다. ISMS-P 인증기준 2.8.6(보안 약점 제거)에서 요구하는 '입력값 검증 및 표현' 영역에 해당하며, OWASP Top 10의 A08:2021(Software and Data Integrity Failures) 범주다. 신뢰할 수 없는 데이터의 역직렬화는 원칙적으로 금지해야 하며, 불가피할 경우 화이트리스트 기반 클래스 필터링, 서명 검증, 샌드박스 실행 등 다층 방어가 필수다.

2. 안전한 기본값 원칙 (Secure by Default) ISMS-P 인증기준 2.5.3(보안성 검토)에서 강조하는 시큐어 코딩 원칙 중 하나로, 보안 관련 설정의 기본값은 항상 가장 안전한 상태여야 한다. 본 취약점처럼 safe_mode=None을 불안전하게 처리하는 것은 개인정보보호법 시행령 제48조의2(안전성 확보조치 기준) 중 '접근통제 및 접근권한 관리'의 기술적 조치 실패에 해당한다. 개발 단계에서 Opt-in 보안(명시적 활성화)보다 Opt-out 보안(명시적 비활성화) 방식을 채택해야 한다.

#CVE-2026-12481#Keras#역직렬화취약점#임의코드실행#CVSS9.8
백남정 기자

개인정보보호 전문 미디어 PrivacyNews 기고

개인정보보호뉴스 구독하기구글에서 팔로우

관련 기사

📌 함께 읽으면 좋은 기사