Arrayref: Malware springt in den Build
Am 20. August 2026 erschien arrayref 0.3.10 auf crates.io und zog die Abhängigkeit proc-macro1 nach. Deren Build-Skript lud während des Kompilierens ein architekturspezifisches Payload nach und startete es. Die Registry nahm die Fassung nach rund 86 Minuten wieder vom Index; Nextron Systems hatte den Vorfall gemeldet.
Das Wichtigste in Kürze
- arrayref 0.3.10 stand 86 Minuten auf crates.io. RustSec führt den Fall als RUSTSEC-2026-0260. Die Advisory nennt 2.285 Downloads der betroffenen Version.
- Die Schadlogik saß im Build-Skript von proc-macro1. Cargo baut deklarierte Abhängigkeiten auch dann, wenn der Library-Code sie nicht nutzt.
- crates.io hat die Fassungen entfernt, das Konto ist gesperrt. Teams prüfen Lockfile und Cargo-Cache und bewerten Build-Hosts aus dem Zeitfenster.
Verwandt: Fünf Kennzahlen, die der Aufsichtsrat wirklich versteht · Welche Controls beim Tool-Abbau nicht wegfallen dürfen
Der Schadpfad begann im Manifest
Die betroffene Veröffentlichung war arrayref 0.3.10. Der Crate ist eine schlanke Hilfsbibliothek für Array-Referenzen. Die schädliche Logik lag außerhalb dieses Library-Codes und kam über die neu deklarierte Abhängigkeit proc-macro1.
Cargo löst Abhängigkeiten aus dem Manifest auf und baut sie, auch wenn der eigene Code sie nicht aufruft. Dieser Ablauf erklärt den Vorfall: Eine äußerlich unveränderte Hilfsbibliothek öffnete den Schadpfad, sobald das Manifest die zusätzliche Abhängigkeit nannte.
SafeDep beschreibt proc-macro1 sekundär als Typosquat einer Namensfamilie rund um prozedurale Makros. RustSec führt den Fall als RUSTSEC-2026-0260. Eine gepatchte Nachfolgeversion von 0.3.10 gibt es laut Advisory nicht. Die Fassungen 0.3.5 bis 0.3.9 gelten dort als unaffected.
Der Build wurde zum Ausführungspunkt
Laut Rust Security Response lud das Build-Skript von proc-macro1 während der Kompilation ein architekturspezifisches Payload nach und startete es. Der Angriff hing nicht an einem Laufzeitimport im fertigen Binary. Er hing am Build-Host, am Netzwerkzugang und an den Rechten des Build-Prozesses.
SafeDep beschreibt denselben Ablauf sekundär als Build-Abhängigkeit, Netzwerkabruf und lokale Artefakte. Die Ausführung erfolgte laut Rust-Projekt im Build-Skript.
Als Indikatoren nannte die Aufarbeitung Pfade in temporären Verzeichnissen. Unter Unix-artigen Systemen taucht /tmp/rust-setup auf. Unter Windows tauchen rust-setup.ps1 und rust-setup-launch.vbs im Verzeichnis %TEMP% auf. Diese Pfade markieren den Prüfpunkt. Ein Pfad allein belegt keine Infektion.
Tenable katalogisiert den Sachverhalt zusätzlich als CVE-2026-77651. Die gelesenen Rust-Projektquellen und der RustSec-Eintrag nennen diese Nummer nicht.
Definition · Build-Skript
Cargo führt das Build-Skript einer Abhängigkeit während der Kompilation aus, sobald die Abhängigkeit im Manifest steht. Ob der Library-Code die Abhängigkeit später aufruft, ist dafür unerheblich.
Drei Crates, ein kompromittierter Veröffentlichungsweg
Die Rust Security Response nennt drei betroffene Veröffentlichungen: arrayref 0.3.10, internment 0.8.7 und append-only-vec 0.1.9. RustSec erfasst append-only-vec 0.1.9 gesondert als RUSTSEC-2026-0262. Diese drei Namen sind kompromittierte Veröffentlichungen bekannter Crates.
Davon zu trennen sind die gelöschten Schadabhängigkeiten proc-macro1, proc-macro-en, aovine, arone, aronenao und tinymember. Sie dienten dem Nachladen und der Ausführung, nicht als legitime Nachfolger.
Der Rust Security Response zufolge ist der Maintainer des arrayref-Kontos wahrscheinlich Opfer einer kompromittierten Maschine oder kompromittierter Zugangsdaten. Das Konto wurde vorsorglich gesperrt. Das betrifft die Kontokontrolle, nicht automatisch jedes Downstream-Projekt.
Eine Drittanalyse von Wiz beschreibt Überschneidungen mit zuvor beobachteten Kampagnen; daraus folgt hier weder Täterschaft noch eine pauschale Infektion von Rust-Projekten.
Cache und Lockfile zeigen den Bestand
Die Registry-Zahl erklärt die Verbreitung, nicht den Schaden. Die aktuelle Advisory-Fassung nennt 2.285 Downloads von arrayref 0.3.10, weniger als zehn Prozent des bisherigen Gesamtdownloadverkehrs. Die Zahl zählt Registry-Abrufe. Sie zählt keine ausgeführten Build-Skripte und belegt keine Kompromittierung jedes Abrufenden.
Ob ein Projekt die betroffene Fassung gebaut hat, zeigt zuerst das Lockfile. Dort steht die tatsächlich aufgelöste Version. Ergänzend ist der lokale Cargo-Cache gegen dieselbe Namensliste zu prüfen: arrayref 0.3.10, append-only-vec 0.1.9, internment 0.8.7 sowie proc-macro1, proc-macro-en, aovine, arone, aronenao und tinymember.
Ein Cache-Treffer zeigt lokale Dateien, nicht zwingend eine ausgeführte Build-Logik. Ein Lockfile-Eintrag von arrayref 0.3.10 zeigt, dass die Auflösung diese Fassung gewählt hat. Beide Befunde begründen die Bewertung des Build-Hosts.
Prüfpunkte im Cargo-Bestand
- ✓Lockfile auf arrayref 0.3.10, internment 0.8.7 und append-only-vec 0.1.9 prüfen
- ✓Cargo-Cache auf die betroffenen Crates und die gelöschten Abhängigkeiten durchsuchen
- ✓Build-Host, CI-Secrets und erzeugte Artefakte in die forensische Bewertung aufnehmen
Die 86 Minuten schließen den Fall nicht ab
Das Zeitfenster auf crates.io war kurz. Die Veröffentlichung stand dort rund 86 Minuten. Die Meldung erreichte das Rust-Projekt am 20. August 2026 um 07:15 UTC. Die Entfernung vom Index beendet die öffentliche Verfügbarkeit, nicht lokale Caches, CI-Runner und bereits erzeugte Artefakte.
Wer im relevanten Fenster gebaut hat, bewertet die betroffenen Hosts forensisch. Bei einem Build der genannten Versionen folgen die Rotation von Zugangsdaten, Tokens, CI-Secrets und Signierschlüsseln nach internem Incident-Prozess sowie ein Neubau der Artefakte von sauberer Basis.
Ältere Fassungen bis 0.3.9 gelten als unaffected; eine gepatchte 0.3.10 gibt es laut Advisory nicht. Wer die schädliche Fassung gezogen hat, geht auf eine als unaffected geführte Version zurück und prüft parallel Host und Geheimnisse.
Quellen: Rust Security Response vom 20. August 2026, zuletzt geändert am 21. August 2026; RustSec RUSTSEC-2026-0260 und RUSTSEC-2026-0262; technische Einordnung von SafeDep und Wiz.
Häufige Fragen
Jede Frage ist verschlossen. Ein Tippen entriegelt die Antwort.
Welche arrayref-Version ist betroffen?
RustSec nennt arrayref 0.3.10. Bis 0.3.9 gilt der Crate im Advisory als unaffected. Das lokale Lockfile entscheidet, welche Fassung tatsächlich gebaut wurde.
Reicht ein Update des direkten Projekts?
Ein Update allein beantwortet die Incident-Frage nicht. Cache, Lockfile und Build-Host gehören gemeinsam in die Prüfung, weil die schädliche Logik während des Builds lief.
Welche weiteren Crates gehören auf die Prüfliste?
Rust nennt append-only-vec 0.1.9 und internment 0.8.7 sowie die gelöschten Namen proc-macro1, proc-macro-en, aovine, arone, aronenao und tinymember.
Was ist auf einem betroffenen Build-Host zu tun?
Der Host wird forensisch bewertet. Je nach Befund folgen die Rotation von Zugangsdaten, CI-Secrets und Signierschlüsseln sowie ein Neubau der Artefakte von sauberer Basis.
Ist ein breiter Angriff auf alle Rust-Projekte belegt?
Nein. Die Registry meldet 2.285 Downloads der betroffenen arrayref-Version. Diese Zahl ist kein Zähler ausgeführter Schadskripte und belegt keine pauschale Kompromittierung aller Nutzer.
Lesetipps der Redaktion
LesetippMicrosoft Teams: Android-Pfad lässt Angreifer-Code durchLesetippCisco ASA: SSL-VPN-DoS steht jetzt in KEVLesetippSechs Behörden warnen vor Gunra über Fortinet-Lücken
Mehr aus dem MBF Media Netzwerk
cloudmagazinLieferkette bricht am Datenpfad zwischen MES und ERPMyBusinessFutureCloudflare 402: Ihr nächster Kunde ist ein KI-AgentDigital ChiefsFable 5 bleibt teuer: Firmen meiden Anthropics Topmodell
Bildquelle: KI-generiert (August 2026)





