CVE 데이터베이스CVE-2026-120194
English Advisory →
CVE-2026-1201947.5/HIGHCWE-835

GNOME json-glib 라이브러리 무한 루프 기반 서비스 거부(DoS) 취약점 (CVE-2026-120194) 분석 및 대응 가이드

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
gnome, redhat
대상 컴포넌트 / 패키지
json-glib
권고문 발행일
2026-10-31
CVSS v3.1
7.5
HIGH
30일 악용확률
0.5%
FIRST.org
CISA KEV
미등재

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

GNOME json-glib 라이브러리를 사용하여 외부 입력값 기반의 JSONPath 쿼리(json_path_query)를 처리하는 애플리케이션 및 시스템

파급 효과

공격자가 음수 스텝(negative step)이 포함된 악의적인 JSONPath 슬라이스 표현식을 전송할 경우, CPU 자원을 100% 점유하는 무한 루프가 발생하여 전체 서비스가 중단(DoS)될 수 있습니다

권장 조치

json-glib 패키지를 최신 보안 패치 버전으로 업데이트하고, 패치 적용 전까지 사용자 입력값에서 JSONPath 슬라이스 구문(특히 음수 기호 '-')을 필터링하는 검증 로직을 도입하십시오

영향받는 제품 및 버전 범위

GNOME json-glib 라이브러리 전체 버전 (보안 패치가 적용되지 않은 버전)

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

운영체제 및 패키지 관리자를 통해 json-glib 라이브러리를 최신 버전으로 업데이트합니다. Red Hat 계열 및 Debian 계열 시스템에서의 업데이트 명령어는 다음과 같습니다.

bash
# Debian/Ubuntu 계열 시스템 업데이트
sudo apt-get update && sudo apt-get install --only-upgrade -y libjson-glib-1.0-0

# RHEL/CentOS/Rocky Linux 계열 시스템 업데이트
sudo dnf clean all && sudo dnf upgrade -y json-glib

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

공식 패치 적용이 어려운 경우, 애플리케이션 레벨에서 사용자 입력값으로 들어오는 JSONPath 표현식에 음수 슬라이스 스텝(예: 콜론 뒤에 마이너스 기호가 붙는 패턴)이 포함되어 있는지 검증하고 차단하는 필터를 적용해야 합니다.

python
# Python 기반 애플리케이션에서의 입력값 검증 예시 (의사 코드)
import re

def validate_jsonpath(user_input):
    # JSONPath 슬라이스 구문 중 음수 스텝 패턴(예: : -1)을 탐지하는 정규식
    negative_slice_pattern = re.compile(r':[\s]*-([0-9]+)')
    if negative_slice_pattern.search(user_input):
        raise ValueError('Invalid JSONPath: Negative step values are not allowed.')
    return True

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

시스템 내에 설치된 json-glib 라이브러리의 버전을 확인하고, CPU 사용량이 비정상적으로 높은 프로세스를 모니터링하는 스크립트입니다.

bash
# 시스템에 설치된 json-glib 버전 확인
dpkg -l | grep json-glib || rpm -qa | grep json-glib

# CPU 점유율이 90% 이상이면서 json-glib을 사용하는 프로세스 실시간 감시
ps -eo pid,ppid,%cpu,%mem,cmd --sort=-%cpu | head -n 10
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
서비스 거부 사고를 예방하기 위해 사용 중인 OS 배포판의 최신 json-glib 보안 업데이트를 즉시 적용하십시오.

내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요

간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.

무료 플랜 지원 · GitHub/GitLab 1클릭 연동
CI/CD 파이프라인에 자동 보안 스캐닝(SAST/SCA) 구축하는 실전 강의
커리큘럼 확인하기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점(CVE-2026-120194)은 GNOME 데스크톱 환경 및 다양한 리눅스 애플리케이션에서 JSON 데이터를 파싱하고 처리하는 데 널리 사용되는 json-glib 라이브러리에서 발견되었습니다. json_path_query() 함수가 JSONPath 슬라이스(Slice) 표현식을 평가할 때, 슬라이스 스텝(step) 값으로 음수(negative value)가 전달되는 경우를 올바르게 처리하지 못해 발생합니다. 이는 루프 제어 변수가 종료 조건에 도달하지 못하고 무한히 반복되는 '루프 종료 조건 미흡(CWE-835)' 취약점입니다.

2. 공격 메커니즘 및 익스플로잇 시나리오

공격자는 애플리케이션이 제공하는 API나 입력 폼을 통해 JSONPath 쿼리를 직접 제어할 수 있는 환경을 탐색합니다. 예를 들어, $.store.book[-1:-5:-1] 또는 $[1:10:-2]와 같이 슬라이스 표현식의 세 번째 인자인 스텝(step) 값에 음수를 삽입하여 요청을 전송합니다. json-glib 내부의 슬라이스 평가기(slice evaluator)는 인덱스를 역방향으로 계산하는 과정에서 경계값 검증 오류로 인해 인덱스가 언더플로우되거나 종료 조건에 도달하지 못해 CPU 코어 하나를 완전히 점유하는 무한 루프 상태에 빠지게 됩니다. 다중 스레드 환경에서 이러한 요청이 반복되면 시스템 전체의 CPU 자원이 고갈되어 완전한 서비스 거부(DoS) 상태로 이어집니다.

3. 비즈니스 및 인프라 파급 영향

json-glib는 Red Hat Enterprise Linux(RHEL), Fedora, Debian, Ubuntu 등 주요 리눅스 배포판의 기본 데스크톱 환경 및 시스템 유틸리티에 깊이 의존되어 있는 핵심 라이브러리입니다. 웹 애플리케이션 백엔드나 마이크로서비스가 사용자로부터 JSONPath 쿼리를 입력받아 데이터를 필터링하는 구조인 경우, 인증되지 않은 외부 공격자의 단순한 HTTP 요청 한 번만으로도 컨테이너 또는 가상 머신(VM) 전체가 응답 불능 상태에 빠질 수 있어 비즈니스 연속성에 심각한 타격을 줄 수 있습니다.

공식 보안 권고문 및 참조 링크

NIST NVD 공식 영문 원문 (Original Record)

A flaw was found in json-glib. The JSONPath slice evaluator used by json_path_query() can enter an infinite loop when given a slice expression with a negative step. An application that evaluates attacker-controlled JSONPath expressions can be forced into a hang, leading to a denial of service.

자주 묻는 실무 질문 (FAQ — CVE-2026-120194)

FAQ

Q1. CVE-2026-120194 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2026-120194의 기본 점수는 CVSS 7.5 (HIGH)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 0.5%입니다. 외부 네트워크 노출 여부에 따라 선제적인 패치 및 접근 제어가 권장됩니다.

Q2. CVE-2026-120194에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 gnome, redhat이며, 대상 컴포넌트는 json-glib입니다. 상세 영향 범위: GNOME json-glib 라이브러리 전체 버전 (보안 패치가 적용되지 않은 버전)

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] json-glib 패키지를 최신 보안 패치 버전으로 업데이트하고, 패치 적용 전까지 사용자 입력값에서 JSONPath 슬라이스 구문(특히 음수 기호 '-')을 필터링하는 검증 로직을 도입하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2026-120194 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (gnome)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2026-120194 GNOME json-glib 라이브러리 무한 루프 기반 서비스 거부(DoS) 취약점 (CVE-2026-120194) 분석 및 대응 가이드 (CVSS 7.5) - 패치 및 보안 권고 | CVE Pulse