CVE-2026-59247 in gleam
Zusammenfassung
von VulDB • 29.07.2026
Die Schwachstelle „Unzureichende Überprüfung der Datenauthentizität“ in Gleam ermöglicht es einem Man-in-the-Middle-Angriff, gefälschte Hex-Paketinhalte während der Abhängigkeitsauflösung zu substituieren.
Während der Abhängigkeitsauflösung ruft Gleam Paketmetadaten aus dem signaturgeprüften Hex-Repository ab, das die Abhängigkeitsanforderungen jedes Releases sowie den SHA-256 outer_checksum (äußerer Prüfsummenwert) umfasst. Nach der Auflösung der Versionen stellt `gleam_cli::dependencies::lookup_package` eine zweite Anfrage an die nicht signierte Hex-API über `gleam_core::hex::get_package_release` ab und speichert den outer_checksum sowie die Abhängigkeitsnamen aus dieser JSON-Antwort in manifest.toml, anstatt die Werte aus den Metadaten des verifizierten Repositorys zu verwenden. Die Signatur des Hex-Repositorys deckt nicht die API-Antwort ab.
Ein Man-in-the-Middle-Angriff, der TLS mit einem von dem Gleam-Prozess vertrauenswürdigen Zertifikat (beispielsweise ein TLS-inspektierender Proxy unter Verwendung einer CA im Vertrauensspeicher des Betriebssystems oder hinzugefügt über GLEAM_CACERTS_PATH) abfangen kann und sowohl die API-Release-Antwort als auch das entsprechende Repository-Tarball manipulieren kann, kann ein Paketarchiv mit einer passenden gefälschten Prüfsumme bereitstellen, ohne den Signierschlüssel des Hex-Repositorys zu benötigen. Gleam überprüft den gefälschten Tarball gegen die gefälschte Prüfsumme, akzeptiert ihn und extrahiert ihn als Abhängigkeitsquelle, was zum Verlust der Integrität der heruntergeladenen Paketinhalte führt.
Betroffen sind nur Projekte, die Hex-Abhängigkeiten auflösen oder aktualisieren; dies geschieht, wenn das Manifest fehlt, eine Abhängigkeit hinzugefügt oder aktualisiert wird oder sich die Abhängigkeitsanforderungen ändern. Builds, die ein unverändertes, bekanntermaßen intaktes manifest.toml wiederverwenden, überprüfen Tarballs weiterhin gegen deren festgelegte Prüfsumme (pinned checksum). Diese Schwachstelle betrifft Gleam: ab Version 0.18.0 bis vor 1.18.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.