Le 20 août 2026, une version compromise du populaire crate Rust arrayref est apparue sur crates.io. La version 0.3.10 a ajouté une dépendance à un crate de typo-squatting appelé proc-macro1, dont le script de construction télécharge et exécute un binaire distant pendant la compilation d’un projet. Le code s’exécute au moment de la construction, donc il suffit de compiler un projet ayant extrait les versions défectueuses pour le déclencher. L’équipe de crates.io a depuis supprimé les versions malveillantes.
Les vrais crates arrayref et append-only-vec sont maintenus par droundy, dont le compte semble avoir été compromis. Les référentiels GitHub correspondants ne sont plus disponibles. Un compte distinct, dtolney, a publié proc-macro1, très similaire au véritable compte dtolnay de David Tolnay.
La charge utile réside dans le script de construction de proc-macro1 1.0.107. Il stocke l’adresse de son serveur sous forme de fragments base64 et les reassemble au moment de la construction, produisant l’hôte de charge utile hxxps://23[.]254[.]165[.]112:9089/ et l’adresse de commandement et de contrôle 23[.]254[.]165[.]112:443. Le script récupère un binaire spécifique à l’architecture via une connexion TLS qui accepte n’importe quel certificat sans validation, puis l’exécute indépendamment de la construction.
Le compte propriétaire a retiré les versions antérieures d’arrayref de 0.3.5 à 0.3.9, incitant les développeurs vers la seule version non retirée, la malveillante 0.3.10. arrayref est largement utilisé comme dépendance transitive, se trouvant profondément dans les graphiques courants de Rust via tiny-skia, sctk-adwaita et winit.
Entités clés : Personnes : David Tolnay, droundy
Source: Hacker News · Résumé par HeadlinesBriefing