Insufficient verification of Hex package metadata in Gleam
Insufficient Verification of Data Authenticity vulnerability in Gleam allows an adversary in the middle to substitute forged Hex package contents during dependency resolution. During dependency resolution Gleam fetches package metadata from the signature-verified Hex repository, which covers each release's dependency requirements and SHA-256 outer_checksum. After resolving versions, gleam_cli::dependencies::lookup_package makes a second request to the unsigned Hex API through gleam_core::hex::get_package_release and records the outer_checksum and dependency names from that JSON response into manifest.toml, instead of the values from the verified repository metadata. The Hex repository signature does not cover the API response. An adversary in the middle who can intercept TLS with a certificate trusted by the Gleam process (for example a TLS-inspecting proxy using a CA in the operating system trust store or added through GLEAM_CACERTS_PATH), and who can modify both the API release response and the corresponding repository tarball, can supply a package archive with a matching forged checksum without the Hex repository signing key. Gleam verifies the forged tarball against the forged checksum, accepts it, and extracts it as a dependency source, resulting in loss of integrity of the downloaded package contents. Only projects that resolve or update Hex dependencies are affected, which happens when the manifest is missing, a dependency is added or updated, or dependency requirements change. Builds that reuse an unchanged, known-good manifest.toml continue to verify tarballs against its pinned checksum. This issue affects gleam: from 0.18.0 before 1.18.0.
- Yayın
- 29 Tem 2026
- Güncelleme
- 8 Eyl 2026
- EPSS
- %0,2 · 7. yüzdelik
- CWE
- CWE-345
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
30
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 30 / 40 · 7.6 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,2
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- hayır
- Teknik etki
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · EEF
- 7,6
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
—
Üreticinin bildirdiği sürümler
Kaydı açan otorite (EEF) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
gleam-lang gleam
- 0.18.0 ve sonrası · 1.18.0 öncesietkilenir · semver
- 0.18.0 ve sonrası · 1.18.0 öncesietkilenir · semver
- 8447b78cc844ff4aec44eea23dbd68d1fea11f11 ve sonrası · c9c0d48c123c8abae6db8dd61b25ccb427ed3d35 öncesietkilenir · git
- v0.18.0-elixir ve sonrası · v1.18.0-elixir öncesietkilenir · other
- v0.18.0-elixir-slim ve sonrası · v1.18.0-elixir-slim öncesietkilenir · other
- v0.18.0-elixir-alpine ve sonrası · v1.18.0-elixir-alpine öncesietkilenir · other
- v0.18.0-erlang ve sonrası · v1.18.0-erlang öncesietkilenir · other
- v0.18.0-erlang-slim ve sonrası · v1.18.0-erlang-slim öncesietkilenir · other
- v0.18.0-erlang-alpine ve sonrası · v1.18.0-erlang-alpine öncesietkilenir · other
- v0.18.0-node ve sonrası · v1.18.0-node öncesietkilenir · other
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| openSUSE:Leap 16.0 | gleam | 1.18.1-bp160.1.1 öncesi | 1.18.1-bp160.1.1 |
| openSUSE:Tumbleweed | gleam | 1.18.1-1.1 öncesi | 1.18.1-1.1 |
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| gleam-lang gleam | 1.18.0 | Üretici (CNA) |
| gleam-lang gleam | c9c0d48c123c8abae6db8dd61b25ccb427ed3d35 | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-elixir | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-elixir-alpine | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-elixir-slim | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-erlang | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-erlang-alpine | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-erlang-slim | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-node | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-node-alpine | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-node-slim | Üretici (CNA) |
| gleam-lang gleam | v1.18.0-scratch | Üretici (CNA) |
| opensuse:gleam | 1.18.1-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
- John Downeybulan
- Louis Pilfolddüzeltme inceleyici
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
Gece hesaplanan ilişki yok.
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- Bütünlük
- Erişilebilirlik
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- P
- Kapsam
- X
Zayıflık sınıfı (CWE)
CWE-345 · Insufficient Verification of Data AuthenticityCVSS vektörü
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
- JSON Hijacking (aka JavaScript Hijacking)CAPEC-111olasılık: High · High
- Cache PoisoningCAPEC-141olasılık: High · High
- DNS Cache PoisoningCAPEC-142olasılık: High · High
- Content SpoofingCAPEC-148olasılık: Medium · Medium
- Spoofing of UDDI/ebXML MessagesCAPEC-218Medium
- Application API Message Manipulation via Man-in-the-MiddleCAPEC-384Low
- Transaction or Event Tampering via Application API ManipulationCAPEC-385Medium
- Application API Navigation RemappingCAPEC-386Medium
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- cna.erlef.org/cves/CVE-2026-59247.html
- github.com/gleam-lang/gleam/commit/c9c0d48c123c8abae6db8dd61b25ccb427ed3d35
- github.com/gleam-lang/gleam/security/advisories/GHSA-4vvc-458m-r82g
- github.com/hexpm/specifications/blob/main/registry-v2.md
- osv.dev/vulnerability/EEF-CVE-2026-59247
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.