🔍 CVE-2026-97731

7.1
CVSS Score
HIGH
2026-09-25
2026-09-30 17:23
✅ 완료

🇰🇷 한글 설명

MinIO 7aac2a2 버전 이하에서 x-amz-* 헤더 검증 미흡으로 인해 발생하는 취약점입니다. 공격자가 서명되지 않은 헤더를 추가하여 권한을 우회함으로써, 단일 객체에 대한 쓰기 권한만으로도 서명자가 읽을 수 있는 모든 객체를 서버 측에서 복사할 수 있습니다.

💡 쉬운 설명

사용자가 허락받은 파일 하나만 건드릴 수 있어야 하는데, 교묘한 명령어를 섞어 보내면 서버가 다른 모든 파일을 마음대로 복사해버리는 보안 구멍이 발견되었습니다. 이로 인해 원래 접근할 수 없던 데이터까지 유출될 위험이 있습니다.

🇺🇸 원문 (English)

MinIO through 7aac2a2 does not verify that every x-amz-* header present on a request also appears in the client-supplied X-Amz-SignedHeaders list. extractSignedHeaders() in cmd/signature-v4-utils.go iterates only the claimed list and never enumerates the headers that actually arrived, and thus a header that arrives unsigned is neither hashed into the canonical request nor rejected. Because cmd/api-router.go dispatches CopyObject on the presence of x-amz-copy-source alone, the holder of a presigned PUT URL scoped to a single object can add that header to the unmodified URL and cause a server-side copy, executed as the signer, of any object the signing key can read. A grant to write one object becomes a read of every bucket that key can reach. Amazon S3 rejects the equivalent request with HTTP 403 AccessDenied. The minio/minio GitHub repository was archived in April 2026; pgsty/silo before 1233254 is also affected.

📍 영향받는 시스템

MinIO (7aac2a2 이하 버전), pgsty/silo (1233254 미만 버전)

⚔️ 공격 벡터

서명된 URL에 x-amz-copy-source 헤더를 임의로 추가하여 서버 측 복사 명령 실행

🛡️ 대응 방법

MinIO 및 관련 시스템을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 해당 헤더 검증 로직이 포함된 수정본을 적용하십시오.

🔧 검증 코드

출력된 버전 정보가 취약한 버전 범위(7aac2a2 이하)에 해당하면 취약한 상태입니다.

Shell / Script
minio --version 2>/dev/null | grep -E '7aac2a2|older'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N

💻 영향받는 소프트웨어

Git