Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-33693 — CVE-2026-33693: activitypub-federation-rust의 v4_is_invalid()에서 0.0.0.0 우회를 통한 SSRF (CVSS 6.5 중간) | Kitploit
도구/GitHubGitHub/snailsploit/cve-2026-33693
ReconnaissanceVulnerability AnalysisExploitationWeb SecurityPapers & ResearchLearning & Education
GitHubsnailsploit/cve-2026-33693

CVE-2026-33693

CVE-2026-33693: activitypub-federation-rust의 v4_is_invalid()에서 0.0.0.0 우회를 통한 SSRF (CVSS 6.5 중간)

저장소 보기
3개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33693: activitypub-federation-rust v4_is_invalid()의 0.0.0.0 우회를 통한 SSRF (CVSS 6.5 Moderate)

GHSA CVE CVSS Platform CWE

키워드: SSRF, 0.0.0.0, IP 검증 우회, activitypub-federation, Lemmy, Rust, ActivityPub


목차

  • 개요
  • 취약점 상세
  • 기술 분석
  • 공격 체인
  • 영향
  • 해결 방법
  • CVSS v3.1 지표
  • 타임라인
  • 참고 자료
  • 연락처
  • 면책 조항

개요

activitypub-federation-rust 라이브러리(Lemmy 및 6개 이상의 하위 프로젝트에서 사용)에 v4_is_invalid() 함수의 불완전한 IP 주소 검증으로 인한 SSRF(Server-Side Request Forgery) 취약점이 존재합니다. 이 함수는 is_unspecified()를 호출하지 않으므로, 공격자가 대부분의 시스템에서 localhost로 매핑되는 0.0.0.0을 대상으로 하여 SSRF 보호 조치를 우회할 수 있습니다.

  • 패키지: activitypub_federation (Rust/cargo)
  • 영향받는 버전: <= 0.7.1
  • 수정 버전: PR #162

취약점 상세

src/utils.rs의 v4_is_invalid() 함수는 내부 네트워크 접근을 차단하기 위해 IPv4 주소를 검증합니다. 루프백(127.0.0.0/8), 사설 대역(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), 링크-로컬(169.254.0.0/16), 브로드캐스트(255.255.255.255)를 검사하지만 미지정 주소 0.0.0.0은 검사하지 않습니다.

대부분의 시스템에서 0.0.0.0은 루프백 인터페이스로 확인되므로 127.0.0.1과 동일한 접근 권한을 부여합니다.

추가 발견 사항: DNS 리바인딩/TOCTOU 취약점도 존재합니다. lookup_host()가 호스트 이름을 확인하고 IP를 검증하지만, 별도의 reqwest 호출이 두 번째 DNS 확인을 수행하여, 공격자가 먼저 안전한 IP를 제공한 후 두 번째 확인에서 내부 IP로 리바인딩할 수 있습니다.


기술 분석

취약한 코드 (src/utils.rs)

root@kitploit:~
fn v4_is_invalid(ip: &Ipv4Addr) -> bool {
    ip.is_loopback()
        || ip.is_private()
        || ip.is_link_local()
        || ip.is_broadcast()
        // MISSING: || ip.is_unspecified()  <- 0.0.0.0 not blocked
}

수정된 코드

root@kitploit:~
fn v4_is_invalid(ip: &Ipv4Addr) -> bool {
    ip.is_loopback()
        || ip.is_private()
        || ip.is_link_local()
        || ip.is_broadcast()
        || ip.is_unspecified()  // <- Now blocks 0.0.0.0
}

공격 체인

root@kitploit:~
+---------------------------------------------------+
|           SSRF via 0.0.0.0 Bypass                 |
+---------------------------------------------------+
|                                                   |
|  1. Attacker hosts ActivityPub object with        |
|     URL pointing to http://0.0.0.0:<port>/path    |
|                                                   |
|  2. Lemmy instance fetches the object via         |
|     activitypub-federation-rust                   |
|                                                   |
|  3. v4_is_invalid() checks IP address:            |
|     x is_loopback()     -> false (not 127.x)     |
|     x is_private()      -> false (not RFC1918)    |
|     x is_link_local()   -> false (not 169.254.x) |
|     x is_broadcast()    -> false (not 255.x)     |
|     x is_unspecified()  -> NOT CHECKED            |
|     Result: 0.0.0.0 PASSES validation            |
|                                                   |
|  4. Request sent to 0.0.0.0 -> resolves to       |
|     localhost -> accesses internal services       |
|                                                   |
|  5. Internal service data returned to attacker    |
|     via ActivityPub federation response           |
|                                                   |
+---------------------------------------------------+

영향

하위 프로젝트 노출: activitypub-federation-rust 크레이트는 Fediverse 생태계의 6개 이상의 프로젝트에서 사용됩니다:

공격자는 다음을 수행할 수 있습니다:

  • 내부 서비스 접근 (데이터베이스, 관리자 패널, 클라우드 메타데이터 엔드포인트)
  • Lemmy/연합 서버의 내부 포트 스캔
  • 메타데이터 API를 통한 클라우드 자격 증명 탈취

해결 방법

  • 업그레이드: activitypub-federation을 PR #162의 수정 사항이 포함된 버전으로 업그레이드하세요.
  • Lemmy 사용자: lemmy#6411의 백포트를 적용하세요.

CVSS v3.1 지표


타임라인


참고 자료

  • GHSA-q537-8fr5-cw35
  • CVE-2026-33693
  • 수정 PR #162
  • Lemmy 백포트 PR #6411
  • CWE-918: 서버 사이드 요청 위조(Server-Side Request Forgery)

연락처

  • 웹사이트: snailsploit.com
  • GitHub: @SnailSploit
  • LinkedIn: /in/kaiaizen

면책 조항

이 저장소는 책임 있는 취약점 공개(responsible disclosure)의 일환으로 교육 및 방어 목적으로 게시됩니다. 이 취약점은 GitHub의 비공개 취약점 신고(PVRT) 프로세스를 통해 신고되었습니다. 운영 중인 시스템에 대한 어떠한 악용도 수행되지 않았으며, 모든 테스트는 격리된 환경에서 진행되었습니다.


📚 문서 및 작성자

이 프로젝트의 전체 라이트업, 방법론 및 관련 연구 자료는 다음에서 확인할 수 있습니다:

https://snailsploit.com/security-research/cves/cve-2026-33693/

작성자: Kai Aizen — 독립 공격 보안 연구원.

snailsploit.com · 연구 · 프레임워크 · GitHub · LinkedIn · ResearchGate · X/Twitter

같은 공격, 다른 기반.

도구 다운로드
프로젝트Stars설명
Lemmy13.7K+Fediverse용 링크 애그리게이터
hatsu--ActivityPub 브리지
gill--연합(federation)을 지원하는 Git 호스팅
ties--소셜 네트워킹
fediscus--연합 토론
fediverse-axum--ActivityPub 프레임워크
지표값
공격 경로네트워크
공격 복잡도낮음
필요 권한없음
사용자 상호작용없음
범위변경 없음
기밀성낮음
무결성낮음
가용성없음
CVSS 벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
점수6.5 (Moderate)
날짜내용
2026-03-11GitHub PVRT를 통해 취약점 신고
2026-03-13유지보수자가 발견 사항 확인
2026-03-13수정 PR #162 제출
2026-03-13보안 권고가 실수로 종료됨
2026-03-16보안 권고 재개
2026-03-23CVE-2026-33693 배정 및 보안 권고 게시