CVE 데이터베이스CVE-2026-113429
English Advisory →
CVE-2026-1134295.4/MEDIUMCWE-79

Gitea Actions 아티팩트 업로드 취약점을 통한 저장형 교차 사이트 스크립팅(Stored XSS) 및 CSP 우회 취약점 (CVE-2026-113429)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
gitea
대상 컴포넌트 / 패키지
gitea
권고문 발행일
2026-11-01
CVSS v3.1
5.4
MEDIUM
30일 악용확률
0.2%
FIRST.org
CISA KEV
미등재

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Gitea v28.3.0 미만 버전에서 Gitea Actions 기능이 활성화된 환경

파급 효과

Actions 실행 권한을 가진 공격자가 악성 HTML 아티팩트를 업로드하여, 이를 다운로드하는 사용자의 세션 권한(관리자 포함)을 탈취하고 인스턴스를 완전히 장악할 수 있습니다

권장 조치

Gitea 인스턴스를 최신 패치 버전인 v28.3.0 이상으로 즉시 업그레이드하십시오

영향받는 제품 및 버전 범위

Gitea v28.3.0 미만 모든 버전 (Gitea Actions 아티팩트 기능 활성화 시 영향 받음)

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

패치 및 우회 명령어

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

Gitea 공식 보안 패치가 적용된 v28.3.0 이상 버전으로 업그레이드를 수행하십시오.

Docker 환경 업그레이드 예시:

bash
# Docker Compose 환경에서 이미지 버전 업데이트 및 재시작
sed -i 's/gitea\/gitea:.*/gitea\/gitea:28.3.0/g' docker-compose.yml
docker compose pull
docker compose up -d

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

즉각적인 패치가 어려운 경우, Gitea 설정 파일(app.ini)에서 Actions 아티팩트 기능을 비활성화하거나 CSP 헤더를 리버스 프록시 수준에서 강제 적용하십시오.

Nginx 리버스 프록시 설정 보완 예시:

nginx
# Gitea 아티팩트 다운로드 경로에 대해 강력한 CSP 헤더 강제 적용
location ~* ^/([^/]+)/([^/]+)/actions/runs/.*$ {
    proxy_pass http://localhost:3000;
    add_header Content-Security-Policy "default-src 'none'; sandbox;" always;
}

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

Gitea 데이터베이스에서 레거시 아티팩트 테이블의 비정상적인 Content-Type/Encoding 설정을 점검하는 SQL 쿼리 예시입니다.

bash
# PostgreSQL 기준: 아티팩트 테이블에서 video/ 또는 audio/로 시작하는 비정상 레코드 조회
psql -U gitea -d giteadb -c "SELECT * FROM action_artifact WHERE content_type LIKE 'video/%' OR content_type LIKE 'audio/%';"
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
Gitea 인스턴스의 Actions 기능을 사용하는 경우, 세션 탈취 및 Stored XSS 공격을 방어하기 위해 즉시 v28.3.0 이상으로 업그레이드하십시오.

코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요

서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.

평균 설정 시간 3분 · Zero-Day 자동 룰 업데이트
이 웹 취약점(WAF 우회 & RCE)을 안전한 실습 랩에서 직접 재현해 보세요
실습 랩 & 보안 강의 보러가기

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

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

본 취약점은 Gitea의 레거시(v1~v3) Actions 아티팩트 업로드 처리 로직에서 발생합니다. Gitea Actions 워크플로우 실행 중 아티팩트를 업로드할 때, 서버는 클라이언트가 전송한 요청의 Content-Encoding 헤더 값을 검증 없이 데이터베이스 컬럼에 저장합니다. 이후 해당 아티팩트를 다운로드할 때 이 값이 Content-Type 헤더로 클라이언트에게 그대로 반환되는 설계 결함이 존재합니다. 또한, 반환되는 헤더 값이 video/ 또는 audio/로 시작하는 경우, 브라우저의 샌드박싱을 강제하는 Content-Security-Policy(CSP) 헤더가 제거되는 취약한 예외 처리 로직이 작동합니다.

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

Gitea Actions 실행 권한을 가진 공격자는 악성 자바스크립트가 포함된 HTML 파일을 아티팩트로 업로드하는 워크플로우를 작성합니다. 이때 업로드 API 요청의 Content-Encoding 헤더를 video/mp4 또는 audio/mpeg와 같이 video/ 또는 audio/로 시작하도록 조작합니다. 이후 피해자가 공개 저장소의 아티팩트 직접 다운로드 링크를 클릭하면, Gitea 서버는 CSP 헤더를 제거한 상태로 해당 파일을 브라우저에 전달합니다. 브라우저는 이를 HTML 콘텐츠로 해석하여 렌더링하게 되며, 결과적으로 Gitea 도메인(Origin) 컨텍스트 내에서 공격자가 삽입한 악성 스크립트가 실행됩니다.

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

이 취약점은 동일 출처 정책(Same-Origin Policy)을 우회하므로, 악성 스크립트가 피해자의 브라우저 세션 쿠키 및 API 토큰에 접근할 수 있게 만듭니다. 특히 Gitea 관리자 권한을 가진 사용자가 해당 링크를 열람할 경우, 공격자는 관리자 세션을 탈취하여 전체 Gitea 인스턴스를 완전히 장악하고 소스 코드 유출, 악성 코드 주입 등의 심각한 공급망 공격을 수행할 수 있습니다.

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

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

Legacy (v1 to v3) Actions artifact uploads stored the request's `Content-Encoding` header unchecked in the column that is served as the artifact's `Content-Type` on download, and a value starting with `video/` or `audio/` also removed the sandboxing Content-Security-Policy. A user who can run an Actions job could upload an artifact that a browser renders as HTML on the Gitea origin when the direct artifact download URL is opened, and the URL is reachable anonymously on public repositories. A victim who opens the link runs the attacker's script with their own session, which for an administrator means control of the instance. Legacy uploads now store only the `gzip` marker, and the special serve headers are chosen only for valid media types.

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

FAQ

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

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

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

주요 영향 벤더는 gitea이며, 대상 컴포넌트는 gitea입니다. 상세 영향 범위: Gitea v28.3.0 미만 모든 버전 (Gitea Actions 아티팩트 기능 활성화 시 영향 받음)

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

[권장 조치] Gitea 인스턴스를 최신 패치 버전인 v28.3.0 이상으로 즉시 업그레이드하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2026-113429 Gitea Actions 아티팩트 업로드 취약점을 통한 저장형 교차 사이트 스크립팅(Stored XSS) 및 CSP 우회 취약점 (CVE-2026-113429) (CVSS 5.4) - 패치 및 보안 권고 | CVE Pulse