Share
## https://sploitus.com/exploit?id=AE2EDBC2-2D20-55B5-9D67-33336915F964
# CVE-2026-59891 Regression & Control Lab
`@sigstore/oci`μ μ€μ μ·¨μ½ λ²μ κ³Ό μμ λ²μ μ κ°μ μ
λ ₯μΌλ‘ λΉκ΅νκ³ ,
νκ²½λ³ λ
ΈμΆ 쑰건μ μ κ²νλ 격리ν μ€μ΅ νλ‘μ νΈμ
λλ€.
> μ΄ νλ‘μ νΈμ CVE Reporterλ
> [gyubin02](https://github.com/gyubin02)μ
λλ€.
## 무μμ κ²μ¦νλ
CVE-2026-59891μ ν΅μ¬μ Registry μΈμ¦μ 보λ₯Ό κ³ λ₯Ό λ λ°μνλ
hostname νΌλμ
λλ€.
- `0.7.0`: `cr.io`κ° `ghcr.io` λ¬Έμμ΄ μμ μλ€λ μ΄μ λ‘
`ghcr.io` μΈμ¦μ 보λ₯Ό μ νν μ μμ΅λλ€.
- `0.7.1`: hostnameμ μ κ·νν λ€ μ νν μΌμΉνλ μΈμ¦μ 보λ§
μ νν©λλ€.
μ΄ μ μ₯μλ λ κ°μ§ μλ리μ€λ₯Ό μλ κ²μ¦ν©λλ€.
1. **collision**: `ghcr.io` μΈμ¦μ λ³΄λ§ μλλ° λμμ `cr.io`
2. **exact**: λμκ³Ό μ νν μΌμΉνλ `cr.io` μΈμ¦μ λ³΄κ° μμ
μ·¨μ½ λ²μ μ 첫 λ²μ§Έ μλ리μ€μμ μΈμ¦μ 보λ₯Ό μλͺ» μ ννκ³ , μμ
λ²μ μ κ±°λΆν΄μΌ ν©λλ€. λ λ²μ λͺ¨λ λ λ²μ§Έ μ μ μλ리μ€λ
μ±κ³΅ν΄μΌ ν©λλ€.
## μμ μ₯μΉ
- μ€μ `~/.docker/config.json`μ μ½κ±°λ μμ νμ§ μμ΅λλ€.
- μ μ₯μ μμ μ μ© `HOME`κ³Ό 무κ°μΉν κ°μ§ μΈμ¦μ λ³΄λ§ μ¬μ©ν©λλ€.
- `HOME`, λ© νμ, κ°μ§ κ°μ΄ λͺ¨λ μ νν λλ§ ν¨ν€μ§λ₯Ό νΈμΆν©λλ€.
- μ΄ ν
μ€νΈκ° νΈμΆνλ APIλ λ‘컬 νμΌμμ μΈμ¦μ 보λ₯Ό μ νν λΏ
Registryμ λ€νΈμν¬ μμ²μ 보λ΄μ§ μμ΅λλ€.
- probe μμ νλ‘μΈμ€μμλ HTTP(S), TCP, TLS, DNS, `fetch` νΈμΆμ
tripwireλ‘ λ§μ΅λλ€.
- μμ νλ‘μΈμ€μ νμ¬ μΈμ
μ ν ν°Β·Docker νκ²½λ³μλ₯Ό μμνμ§
μμ΅λλ€.
- stdout/stderrμ κ°μ¬ κ²°κ³Όμ κ°μ§ ν ν°μ‘°μ°¨ λνλμ§ μλμ§
ν
μ€νΈν©λλ€.
μ·¨μ½ ν¨ν€μ§λ₯Ό μλμ μΌλ‘ μ€μΉνλ―λ‘ μ΄ μ μ₯μλ `"private": true`μΈ
κ΅μ‘μ© λ©μ
λλ€. μ ν μ½λμ μμ‘΄μ±μΌλ‘ μ¬μ©νλ©΄ μ λ©λλ€.
μ΄ λλ¬Έμ `npm audit`κ° 0.7.0μ λ³΄κ³ νλ κ²μ μμλ κ²°κ³Όμ΄λ©°,
μμΈμ λ²μμ μ΄μ λ [`SECURITY.md`](SECURITY.md)μ κΈ°λ‘νμ΅λλ€.
## μ€ν
μꡬ μ¬ν: Node.js 22.22.2+, 24.15.0+ λλ 26 μ΄μ. κΆμ₯ λ²μ μ
`.nvmrc`μ κ³ μ νμ΅λλ€.
```bash
npm install --ignore-scripts
npm test
npm run demo
npm run audit:fixture
npm run evidence
```
`npm run demo`μ ν΅μ¬ μμ κ²°κ³Ό:
```text
0.7.0 collision credential-selected
0.7.1 collision credential-rejected
0.7.0 exact credential-selected
0.7.1 exact credential-selected
Regression result: PASS
```
## μ΄ νλ‘μ νΈκ° 보μ¬μ£Όλ μλ
- μ€μ CVEμ λ°μ 쑰건μ μ½λ μμ€μμ μ€λͺ
νκ³ μμ νκ² μ¬ν
- μ·¨μ½ λ²μ κ³Ό μμ λ²μ μ λμΌ μ‘°κ±΄μμ λΉκ΅νλ νκ· ν
μ€νΈ μ€κ³
- κ³΅κ° CVSSμ λ³λλ‘ μ€μ νκ²½μ 곡격 μ μ 쑰건μ νκ°
- λ°κ²¬ β μν₯ λΆμ β μμ κ²μ¦ β ν΅μ λ‘ μ΄μ΄μ§λ μ·¨μ½μ κ΄λ¦¬
- μ€μ μΈμ¦μ 보λ₯Ό 건λλ¦¬μ§ μλ μ€ν¨ μμ ν 보μ ν
μ€νΈ
## μΆμ²μ λ²μ
- [GitHub Security Advisory GHSA-pf56-329r-95rw](https://github.com/sigstore/sigstore-js/security/advisories/GHSA-pf56-329r-95rw)
- [NVD CVE-2026-59891](https://nvd.nist.gov/vuln/detail/CVE-2026-59891)
μ΄ νλ‘μ νΈλ μ νλ κ΅μ‘μ© ν΅μ νκ°μ
λλ€. CISA μ격, ISMS-P
μΈμ¦ λλ νΉμ μ‘°μ§μ κ·μ μ€μλ₯Ό λ»νμ§ μμ΅λλ€.
μμΈν λ²μ, ν
μ€νΈ, μν λ° ν΅μ λ¬Έμλ [`docs/`](docs/)μ μμΌλ©°,
`npm run evidence`λ μ¬ν κ°λ₯ν μ€ν μ¦μ κ³Ό SHA-256 manifestλ₯Ό
μμ±ν©λλ€.