Connect with us

Entwicklung & Code

Schwachstelle in Rust-Library für tar-Archive entdeckt


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Die Rust-Library async-tar enthält eine Schwachstelle, die es Angreifern ermöglicht, versteckte Inhalte in tar-Archiven einzuschleusen.

Weiterlesen nach der Anzeige

Das auf sichere Laufzeitumgebungen spezialisierte Unternehmen Edera hat den Fehler veröffentlicht und ihm den etwas dramatischen Namen TARmageddon gegeben. Das Unternehmen hatte einen eigenen Fork der Library gepflegt, der inzwischen archiviert ist, aber noch einen Patch erhält.

Die Library async-tar dient dazu, tar-Archive asynchron zu lesen und zu schreiben. Sie ist deutlich performanter als die synchron arbeitende tar-Library für Rust.

Der zugehörige CVE-Eintrag (Common Vulnerabilities and Exposures) CVE-2025-62518 hat den Schweregrad „hoch“ mit dem Wert 8,1 von 10.

Auch wenn sich der CVE-Eintrag auf die Library astral-tokio-tar bezieht, betrifft die Schwachstelle die Library async-tar und deren Forks. Der am weitesten verbreitete Fork tokio-tar, mit über 7 Millionen Downloads im Rust-Paketmanager crates.io, wird seit zwei Jahren nicht mehr gepflegt. Damit bleibt er weiter verwundbar.

Wer tokio-tar nutzt, sollte auf den Fork astral-tokio-tar oder eine andere Alternative wie die nicht asynchrone tar-Library wechseln. Der Fork astral-tokio-tar hat mit Version 0.5.6 ein Update erhalten, das die Schwachstelle behebt.

Weiterlesen nach der Anzeige

Der Fehler liegt in der Verarbeitung der Header für die tar-Dateien. async-tar verarbeitet sowohl das ustar- als auch das PAX-Format. Wenn eine Datei Header für beide Formate enthält, kommt es zur Inkonsistenz: Der Parser nutzt die im ustar-Header angegebene Größe, während für andere tar-Werkzeuge die PAX-Werte gelten.

Wenn der PAX-Header die richtige Dateigröße angibt, ustar aber mit der Größe 0 angegeben ist, springt der Parser nicht weiter, sondern verarbeitet den Inhalt verschachtelter Archive, die aber andere tar-Werkzeuge nicht als solche erkennen und damit auch nicht untersuchen.

Der Blogbeitrag zu der Schwachstelle zeigt das in folgendem Kurzbeispiel:


Expected by scanner/validator:
Entry 1: "outer-file.txt"
Entry 2: "inner-tar-file.tar" (0 bytes per ustar, but N bytes in PAX)
Entry 3: "next-file.txt"

Actually extracted by tokio-tar:
Entry 1: "outer-file.txt"
Entry 2: "inner-tar-file.tar" (0 bytes per ustar)
Entry 3: "inner-file1.txt" (from inner TAR)
Entry 4: "inner-file2.txt" (from inner TAR)
Entry 5: "next-file.txt" (continues normally)


Der Parser von async-tar verarbeitet die verschachtelten Dateien als reguläre Inhalte des Archivs.

Als theoretisches Angriffsszenario führt der Beitrag den Python-Paketmanager uv auf, der ebenso von Astral stammt wie der inzwischen gepatchte Fork astral-tokio-tar. Vor dem Patch der in uv genutzten Library hätten Angreifer versteckten Schadcode über ein verschachteltes tar-Archiv einschmuggeln können.

Edera hat den Bug vor zwei Monaten entdeckt. Anschließend hat das Team einen Patch erstellt und die Maintainer der Libraries informiert. Die Libraries astral-tokio-tar und krata-tokio-tar haben den Patch erhalten, und der Maintainer von async-tar hat den Fehler selbst behoben. Allerdings finden sich im Paketmanager crates.io für async-tar und krata-tokio-tar nach wie vor etwa ein Jahr alte Versionen ohne Patch.

Dass der Bug erst jetzt veröffentlicht wurde, liegt an dem Embargo von 60 Tagen seit Edera den Maintainern den Bug gemeldet hat.


(rme)



Source link

Entwicklung & Code

React-Framework Next.js 16 macht Turbopack zum Standard-Bundler


Das Unternehmen Vercel hat Next.js 16 veröffentlicht. Im React-Framework hat sich einiges getan: Der schnellere webpack-Nachfolger Turbopack ist nun im stabilen Status verfügbar und wird als Standard-Bundler verwendet, der React-Compiler-Support ist ebenfalls stabil und es gibt neue Features unter anderem für Caching, Routing und die Anbindung an das Model Context Protocol.

Weiterlesen nach der Anzeige


enterJS 2026

enterJS 2026

(Bild: jaboy/123rf.com)

Call for Proposals für die enterJS 2026 am 16. und 17. Juni in Mannheim: Die Veranstalter suchen nach Vorträgen und Workshops rund um JavaScript und TypeScript, Frameworks, Tools und Bibliotheken, Security, UX und mehr. Vergünstigte Blind-Bird-Tickets sind bis zum Programmstart erhältlich.

Sowohl für Entwicklungs- als auch für Produktions-Builds hat Turbopack den stabilen Status erreicht. Als Standard-Bundler für alle Apps soll Turbopack bis zu zehnmal schnelleren Fast Refresh und zwei- bis fünfmal schnellere Builds ermöglichen.

Um Turbopack zu nutzen, ist in Next.js 16 keine weitere Konfiguration erforderlich. In Apps mit benutzerdefiniertem webpack-Setup können Developer weiterhin den älteren Bundler verwenden:


next dev --webpack
next build --webpack


Eine Neuerung, die bereits bei allen internen Vercel-Apps im Einsatz ist, hat Turbopack ebenfalls zu bieten: Als Beta unterstützt der Bundler Dateisystem-Caching während der Entwicklung. Er speichert Compiler-Artefakte zwischen Ausführungen, um deutlich schnellere Compile-Zeiten bei Neustarts zu erreichen – insbesondere in großen Projekten. Das Beta-Feature lässt sich in der Konfiguration aktivieren:


const nextConfig = {
  experimental: {
    turbopackFileSystemCacheForDev: true,
  },
};
 
export default nextConfig;


Anfang des Monats ist der React Compiler 1.0 erschienen, und Next.js 16 bietet dafür integrierten Support – jetzt im Status stable. Der Support ist dennoch standardmäßig deaktiviert, solange das Next.js-Team noch weitere Daten sammelt. Entwicklerinnen und Entwickler, die die Option aktivieren, müssen offenbar mit längeren Kompilierungszeiten in Entwicklung und Builds rechnen, weil der React Compiler Babel verwendet.

Weiterlesen nach der Anzeige

Neben der Stabilisierung von Features hat Next.js 16 weitere Neuerungen zu bieten. Dazu zählt Next.js DevTools MCP, eine Integration mit dem Model Context Protocol (MCP) für das KI-gestützte Debugging mitsamt Kontexteinblicken in eine Next.js-Anwendung. Neu sind auch die Cache Components, ein Set von Features, um das Caching in Next.js expliziter und flexibler zu gestalten. Sie bringen die neue "use cache"-Direktive, mit der sich Seiten, Komponenten und Funktionen cachen lassen.

Auf Details zu diesen und weiteren Features in Version 16 geht das Next.js-Team in einem Blogeintrag ein.


(mai)



Source link

Weiterlesen

Entwicklung & Code

BentoPDF 1.0: Neues Open-Source-PDF-Werkzeug fürs Self-Hosting


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Mit BentoPDF 1.0.0 steht ab sofort ein neues Open-Source-Werkzeug für die PDF-Verarbeitung bereit. Besonderen Wert legen die Entwickler auf eine lokale Datenverarbeitung ohne Cloud-Anbindung. Das erste Major Release bringt zahlreiche Funktionen für professionelle Workflows mit.

Weiterlesen nach der Anzeige

Zu den wichtigsten Updates gehört die Posterize-Funktion, die große PDFs in mehrere kleinere Dokumente für Posterdrucke aufteilt. Die Linearize-Funktion optimiert PDFs für schnelles Web-Viewing durch progressive Ladeoptimierung. Hinzu kommen Bulk-Operationen: Mehrere PDFs lassen sich gleichzeitig komprimieren oder in einzelne Seiten zerlegen.

Das Tool entfernt automatisch leere Seiten aus Dokumenten und bietet einen Interleave-Merge-Modus, bei dem mehrere PDFs verzahnt zusammengeführt werden – praktisch etwa beim Scannen von Vorder- und Rückseiten. Zudem können Dateien als Anhänge direkt in PDFs eingebettet werden.

Zudem haben die Entwickler seit der Betaphase die OCR-Funktionen grundlegend überarbeitet. Hier sind Whitelist-Zeichensätze für präzisere Texterkennung neu hinzugekommen. Die Performance bei Split-, Merge- und Komprimierungsvorgängen hat das Projekt optimiert und den Speicherverbrauch bei Bulk-Operationen reduziert.

Für die Bereitstellung stehen verschiedene Docker-Konfigurationen bereit, die sich sowohl für Entwicklungsumgebungen als auch für Produktivbetrieb eignen. Die überarbeitete Docker-Compose-Konfiguration soll die Einrichtung von BentoPDF erleichtern. Nutzer von Unraid finden ein vorgefertigtes Template für die Integration in ihre Infrastruktur.

Das Projekt steht auf GitHub zur Verfügung, wo interessierte Nutzer ebenfalls eine vollständige Liste der unterstützten Features finden. Die vollständigen technischen Details und Installationsanleitungen finden sich in der Projektdokumentation.

Weiterlesen nach der Anzeige


(fo)



Source link

Weiterlesen

Entwicklung & Code

Browser-Engine Servo veröffentlicht erstes offizielle Release 0.0.1


Das Servo-Projekt hat mit Version 0.0.1 erstmals ein offiziell getaggtes Release der Rust-basierten Browser-Engine veröffentlicht. Allerdings betont das Entwicklerteam, dass es sich dabei im Wesentlichen um einen Nightly-Build vom 19. Oktober 2025 handelt, der zusätzlichen manuellen Tests unterzogen wurde.

Weiterlesen nach der Anzeige

Servo ist eine quelloffene Web-Rendering-Engine, die ursprünglich von Mozilla initiiert wurde und heute unter dem Dach der Linux Foundation Europe weiterentwickelt wird. Die Engine setzt konsequent auf die Programmiersprache Rust und zielt darauf ab, Web-Technologien in verschiedene Anwendungen einbettbar zu machen. Seit dem überraschenden Comeback 2023 arbeitet das Projekt kontinuierlich an der Verbesserung der Kompatibilität mit aktuellen Web-Anwendungen.

Die aktuelle Version 0.0.1 bringt keine grundlegend neuen Funktionen im Vergleich zu den bisherigen Nightly-Builds. Der Hauptunterschied liegt im Release-Prozess selbst: Das Team führt ab sofort zusätzliche manuelle Tests durch, bevor eine Version offiziell getaggt wird. Künftig soll monatlich ein so getesteter Release erscheinen, um Nutzern einen zuverlässigeren Referenzpunkt als die täglichen Nightly-Builds zu bieten.

Eine technische Neuerung gibt es dennoch: Erstmals stellt das Projekt vorkompilierte Binaries für ARM-basierte Macs bereit. Damit erweitert Servo seine Plattformunterstützung, die neben den Desktop-Systemen macOS (x86-64 und ARM), Linux und Windows auch die mobilen Plattformen Android und OpenHarmony umfasst. Die Downloads umfassen servoshell, einen einfachen Demo-Browser, der die Rendering-Fähigkeiten der Engine demonstriert.

Das Servo-Team verfolgt mit seinen Releases einen unkonventionellen Ansatz. Es gibt derzeit keine Pläne, die Versionen zum Beispiel auf Crates.io oder in plattformspezifischen App-Stores zu veröffentlichen. Stattdessen beschränkt sich die Distribution auf getaggte Releases auf GitHub. Damit wollen die Entwickler den noch experimentellen Charakter des Projekts deutlich machen, das sich aktuell primär an Entwickler richtet, die Web-Rendering in eigene Anwendungen integrieren möchten. Dafür bietet Servo eine dedizierte WebView API, die sich aktuell noch im Aufbau befindet. Für Endanwender ist Servo noch nicht gedacht.

Weiterlesen nach der Anzeige

Dennoch hat Servo in den vergangenen Monaten deutliche Fortschritte bei der Web-Kompatibilität gemacht. Seit Mai kann die Engine zum Beispiel komplexe Webanwendungen wie Gmail darstellen. Die Unterstützung für moderne Web-Standards wie CSS-Nesting, Shadow DOM und verschiedene Web-APIs haben die Entwickler kontinuierlich ausgebaut. Allerdings befinden sich viele dieser Funktionen noch im experimentellen Stadium und müssen über spezielle Optionen aktiviert werden.

Für die Zukunft plant das Servo-Team, im monatlichen Rhythmus neue getaggte Versionen zu veröffentlichen. Der Prozess soll dabei relativ simpel bleiben: Ein aktueller Nightly-Build wird ausgewählt, manuell getestet und bei erfolgreicher Validierung als offizieller Release markiert. Die Servo-Website bietet einen Troubleshooting-Guide für häufige Probleme.

Alle Informationen zum Release 0.0.1 finden sich im Blog. Die Binaries stehen ab sofort auf GitHub zum Download bereit.


(fo)



Source link

Weiterlesen

Beliebt