
T3 Code 61c3794c 공급망 잔여물. 업데이터가 아카이브와 동일한 출처의 SHA256SUMS를 검증한다. 서명 없음. 루프백 랩.
업데이터는 다운로드 옆에 있는 SHA-256 파일을 검사합니다. 다운로드 호스트를 탈취하면 체크섬도 함께 탈취됩니다. 그 경로에는 서명이 없습니다. 우발적인 손상은 여전히 실패합니다. 동일한 오리진에서 교체된 쌍은 설치됩니다.
분류: 공급망
도달 범위: 공급망 (releaseBaseUrl을 제어하는 자)
T3 Code 61c3794c - Ping
| ID | 아직 CVE 없음 |
| 분류 | 공급망 |
| 도달 범위 | 공급망 (침해된 릴리스 호스트, CDN, 또는 해당 오리진의 DNS/TLS) |
| CWE | CWE-345 / CWE-494 |
| CVSS | 중간: 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| 제품 | T3 Code |
| 영향받음 | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| 인증 | 게시자가 장악된 후에는 피해자 측에 인증 없음; 피해자가 설치 또는 업데이트를 실행함 |
| 라이선스 | GNU Affero GPL v3.0 |
| 랩 | 루프백 게시자 127.0.0.1:18192; tar는 모킹되어 아카이브 바이트가 절대 실행되지 않음 |
SHA256SUMS와 아카이브(releaseBaseUrl / 해당 빌드의 GitHub Releases)를 모두 제공하는 오리진을 제어해야 합니다. 피해자 측의 T3 계정은 필요하지 않습니다.
| 권한 | 방법 / 싱크 | 정찰 / 무결성 / 가용성 | 랩 입증 또는 추론 |
|---|---|---|---|
| 하나의 오리진에서 일치하는 아카이브 + 체크섬 게시 | ensurePinnedRuntimeInstalled가 ${baseUrl}/SHA256SUMS를 가져온 다음 ${baseUrl}/${fileName}을 가져와 SHA-256 비교 | 무결성 (설치 허용됨) | 랩 입증. checksum-pass=1, 두 파일 모두에서 witness t3f02s9m4 |
| 동일한 헬퍼를 통한 자체 업데이트 / 부트 서비스 구동 | selfUpdate.ts, bootService.ts가 releaseBaseUrl을 전달 | 무결성 | 소스. 랩은 헬퍼를 직접 호출함 |
| 추출 후 설치된 바이너리 실행 | tar -xf 후 t3 실행 | 무결성 / 가용성 | 추론. 랩은 tar를 모킹했고 바이트를 실행하지 않음 |
| 음성 대조: 불일치 체크섬 | 동일한 헬퍼, SHA256SUMS에 0 채움 | 해당 없음 | 랩 입증. 단계 verifying the t3 release archive checksum |
이 잔여 사항에서 닫힌 상태로 유지됨
| 축 | 방법 / 싱크 | 닫힌 이유 |
|---|---|---|
| 무결성 | 전송 중 우발적 비트 플립 | SHA-256 불일치 시 추출 거부 |
| 무결성 | 서명되지 않은 추가 오리진 | 랩은 하나의 base URL을 사용함; 두 번째 오리진은 존재하지 않으므로 절대 참조되지 않음 |
| 무결성 | 이 랩이 공격자 바이트를 실행함 | tar 모킹됨; extracted-binary-executed=0 |
다운로드+다이제스트 블록과 자체 업데이트 / 부트 서비스 호출자에서 signature-check=0 (minisign, cosign, GPG, 또는 sigstore 없음).
pinnedRuntime.ts는 cliReleaseDownloadBaseUrl로부터 두 URL을 모두 구성합니다. 트리 내 테스트는 이미 동일 오리진 체크섬 통과와 불일치 실패를 고정하고 있습니다. 서명은 요구하지 않습니다.
잘못된 방향: 체크섬을 게시자 인증자로 취급하는 것.
python3 t3code-release-checksum-same-origin-Abraxas-Labs.py
또는:
cd lab
./run.sh
127.0.0.1:18192에서의 루프백 HTTP 퍼블리셔. 프로덕션 ensurePinnedRuntimeInstalled는 해당 오리진에 대해 Effect fetch를 사용합니다. 일치하는 쌍은 설치됩니다(추출은 모킹됨). 일치하지 않는 쌍은 검증 단계에서 중단됩니다.
IOC loopback-bound=127.0.0.1:18192
IOC same-origin=1
IOC checksum-pass=1
IOC checksum-fail=1
IOC signature-check=0
IOC tar-mocked=1
IOC extracted-binary-executed=0
SUCCESS T3-F02-CHECKSUM t3f02s9m4
체크섬 매니페스트에 서명하고(minisign, cosign 또는 GPG) 공개 키를 바이너리에 내장하세요. SHA256SUMS를 파싱하기 전에 서명을 검증하세요. 릴리스 출처를 변경 불가능한 서명된 참조로 고정하세요.
61c3794c32b0eeebfac09add43e403618c65d2d7pinnedRuntime.ts 다운로드+다이제스트GNU Affero GPL v3.0. LICENSE를 참조하세요. 루프백 실험실 전용입니다. 보증하지 않습니다.
Abraxas Labs [email protected]
CVE는 Abraxas Labs에 크레딧을 부여해 주세요.