Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 - 높음 - 원격 - 파일 쓰기 - 서명되지 않은 magick convert가 nobody 권한으로 쓰기 수행 | Kitploit
도구/GitHubGitHub/abraxas/ats-magick-unsigned
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringWeb SecurityLabs & Practice
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 - 높음 - 원격 - 파일 쓰기 - 서명되지 않은 magick convert가 nobody 권한으로 쓰기 수행

저장소 보기
115일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - ats-magick-unsigned

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-magick-unsigned

ats-magick-unsigned

분류: 파일 쓰기 도달 범위: 원격

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

실험적 magick은 plugin.config에 RSA 키가 없을 때 ?magick=(퍼센트+base64 변환 argv)로부터 ImageMagick ConvertImageCommand를 실행합니다. verified = nullptr == key_. README에는 악용을 피하기 위해 키가 존재한다고 명시되어 있습니다. 인자 없이 magick.so를 로드하는 것이 플러그인의 기본 동작입니다.

plugin.config에 RSA 공개 키가 있는 서명된 CONTROL은 403이며, 증거 파일이 없습니다. 분류는 파일 쓰기로 유지됩니다. 배포판의 policy.xml은 종종 URL/셸 델리게이트를 비활성화합니다. RCE로 과장하지 마십시오.

ID아직 CVE 없음
분류파일 쓰기 (서명되지 않은 변환 argv)
도달 범위원격 (키 없는 magick.so를 통한 인증 없는 HTTP ?magick=)
CWECWE-347, CWE-73
CVSS높음: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
제품Apache Traffic Server
영향받음10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) 실험적 magick 서명되지 않은 변환
인증없음
라이선스GNU Affero GPL v3.0
랩127.0.0.1:18800 전용

공개 태그 10.2.0의 peel b1df7334를 고정했습니다. 랩은 루프백에서 소스로 빌드한 ats-10.2.0-lab:local 리버스 프록시입니다. 서명되지 않은 변환 -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS. 증거 파일 161바이트, 소유자 nobody. 서명된 CONTROL 403.

공격자가 할 수 있는 일

호환되는 Content-Type의 오리진 이미지에 대해, magick.so가 로드되고 RSA 키가 없는 상태에서 인증 없는 GET /img.png?magick=.

방법싱크권한
인증 없는 GET /img.png?magick= 서명되지 않은 변환 -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609) 후 ConvertImageCommand무결성 / 파일 (랩 입증): 161바이트 증거 파일 소유자 nobody. 로그 ImageMagick's syntax. HTTP 200.
plugin.config에 RSA 키가 있는 동일 쿼리EVP_DigestVerify차단됨 (랩 입증): 403 서명 검증 실패. 증거 파일 없음.
거대한 오리진 블롭무제한 blob_가용성 (추론): 프로세스 메모리 압박. CVE-2026-58186 상한의 형제. 이 High 행은 아님.
IM URL / 셸 델리게이트policy.xml이 랩에서 차단됨: HTTP/HTTPS/URL/MVG/셸 델리게이트 없음. RCE라고 부르지 마십시오.

랩 입증 vs 추론: nobody로서의 서명되지 않은 파일 쓰기, 서명된 403, 구문 로그는 랩 결과입니다. 무제한 블롭 DoS는 추론입니다. RCE는 주장하지 않습니다.

요구 사항: 검증 키 없는 실험적 magick.so, 그리고 변환 경로 쓰기를 여전히 허용하는 ImageMagick policy.xml. 기본 plugin.config에서는 로드되지 않습니다.

차단된 상태로 유지되는 인접 표면

표면랩
RSA 공개 키와 함께 로드된 magickCONTROL 403, control-sigfail=yes, 파일 없음
magick 미로드쿼리 magick은 무효
wasm WASI path_openNOENT
IM 입력으로서의 요청 본문오리진 응답 블롭이 입력
webp_transform 바운드 디코드CVE-2026-58186 차단됨; magick 블롭은 바운드되지 않은 형제

CVE-2026-58186이 아니다. Magick README에는 이미 악용을 피하기 위해 키가 존재한다고 명시되어 있었다. 남은 문제는 해당 키 없이 플러그인을 로드하는 것이다.

Lab

python3 ats-magick-unsigned-Abraxas-Labs.py

또는

cd lab
./run.sh

Loopback 127.0.0.1:18800 (두 번째 리스너에서 서명된 CONTROL). Compose 프로젝트 ats-magick-unsigned. 이미지 ats-10.2.0-lab:local. Witness ATS-MAGICK-UNSIGNED-WITNESS. 마지막 줄:

SUCCESS ats-magick-unsigned unsigned-http=200 file-write=yes uid=nobody syntax-log=true control-http=403 control-sigfail=yes ATS-MAGICK-UNSIGNED-WITNESS

수정

key_가 null일 때 fail closed로 동작해야 합니다. 검증된 magickSig 없이 클라이언트의 ?magick=에 대해 ConvertImageCommand를 실행하지 마십시오. 키가 누락된 경우를 "서명되지 않은 변환이 괜찮다"가 아니라 "플러그인 설정 오류"로 취급하십시오. webp_transform이 제한된 방식과 동일하게 blob_에도 상한을 두십시오.

그때까지는 프로덕션 규모의 RSA 공개 키 없이 magick.so를 로드하지 마십시오. 배포판의 policy.xml은 서명을 대체할 수 없습니다.

참고 자료

  • github.com/apache/trafficserver 태그 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • 관련 항목(종료됨, 본 건 아님): CVE-2026-58186 webp_transform 바운드 디코드
  • CWE-347 · CWE-73
도구 다운로드