Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

GCC 12.1: Major Release mit neuen Features

09. Mai 2022 um 07:27

Mit Version 12.1 der GNU Compiler Collection (GCC) bringen die Entwickler ein neues Major Release heraus. Die Neuerungen und Änderungen sind umfangreich.

In den Release Notes heißt es, dass mehrere C++23-Funktionen implementiert wurden. Zudem wurde die Unterstützung für OpenMP 5.0 erweitert: Der “close map modifier” und die “affinity clause” werden nun unterstützt, teilen die Entwickler mit.

GCC unterstütze jetzt den ShadowCallStack Sanitizer, der mit der Kommandozeilenoption “-fsanitize=shadow-call-stack” aktiviert werden kann, heißt es in der Ankündigung weiter. Der Sanitizer funktionier derzeit nur auf AArch64-Zielen und erfordere eine Umgebung, in der der gesamte Code mit -ffixed-r18 kompiliert worden sei, teilen die Entwickler mit. Der primäre Einsatzzweck sei der Linux-Kernel.

Mit Version 12.1 kann das Projekt ein Jubiläum feiern. Nachdem Richard Stallman am 22. März die erste öffentliche Version 0.9 freigegeben hat, erschien Version 1.0 am 23. Mai 1987 vor 35 Jahren.

Der Beitrag GCC 12.1: Major Release mit neuen Features erschien zuerst auf Linux-Magazin.

GCC 13.1: Neues Major-Release

27. April 2023 um 10:54

Mit Version 13.1 der GNU Compiler Suite GCC haben die Entwickler eine neue Hauptversion veröffentlicht. Diese neue Version integriert unter anderem ein Frontend für die Sprache Modula-2.

Das Modula-2-Frontend war bislang nur separat erhältlich. GCC 13.1 legt außerdem auch den Grundstein für ein Frontend für Rust, das dann in einer kommenden Version verfügbar sein soll.

Den Programmiersprachen C und C++ haben sich die Entwickler verstärkt angenommen. Es seien in das C-Frontend Unterstützung für mehrere C23-Funktionen eingeflossen und gleiches gilt auch für das C++-Frontend und dort eingeflossene C++23-Funktionen.

Verbessert zeigt sich die bislang noch experimentelle Unterstützung der C++-Standardbibliothek für C++20 und C++23, heißt es in der Ankündigung.  Für die C-Sprachfamilie lasse sich nun -fstrict-flex-arrays[=level] verwenden, um das Verhalten für die verschiedenen Legacy-Formen der Angabe von flexiblen Array-Mitgliedern zu steuern.

Den statische Analyzer der GCC sei mit 20 neuen Diagnosearten ebenfalls stark verbessert worden heißt es weiter. Zudem seien nun neue CPU-Funktionen in der ARM-, x86-Familie, RISC-V und LoongArch unterstützt. Dadurch beherrsche etwa RISC-V die Vektor-Intrinsik wie sie in der Spezifikation 0.11 festgelegt.

Der Beitrag GCC 13.1: Neues Major-Release erschien zuerst auf Linux-Magazin.

GCC: Forscher finden Sicherheitslücke bei Exploit-Training

15. September 2023 um 08:11

Mit Stack Canarys sollen eigentlich Buffer-Overflows erkannt werden. Durch Zufall entdeckte ein Team von Meta, dass das nicht immer der Fall ist.

Der Chip-Designer ARM und das Team der GNU Compiler Collection (GCC) haben eine Sicherheitslücke (CVE-2023-4039) im gleichnamigen C-Compiler der Softwaresuite behoben. Der zugrunde liegende Fehler findet sich im Stack Smashing Protector von GCC für ARM64, der mit Hilfe eines sogenannten Canarys das Ausnutzen eines Stack Buffer Overflows verhindern soll und wurde offenbar durch Zufall entdeckt.

Das berichten Tom Hebb von Metas Sicherheitsgruppe Red Team X sowie die auf den ARM-Befehlssatz spezialisierte Sicherheitsexpertin Maria Markstedter alias Azeria. Aufgefallen war die Sicherheitslücke demnach in einer Demo-Anwendung bei einem Exploit-Training, das Markstedter anbietet. Dabei werden unter anderem verschiedene Techniken zum Ausnutzen von Sicherheitslücken auf ARM-Plattformen besprochen.

Die betroffene GCC-Funktion setzt einen sogenannten Canary in die Datenstrukur im Speicher. Bei einem Buffer Overflow wird der Canary überschrieben, was wiederum erkannt werden kann, um den Programmablauf zu unterbrechen. Ein Angriff, der solch einen Overflow ausnutzt, um den Programmablauf zu kapern, kann so verhindert werden. Der Name der Technik ist dabei als Analog zum Canary in a coal mine gewählt.

Für Datentypen mit dynamischer Speichergröße wie etwa Variable-Length-Array (VLA) oder Objekte, die per Alloca-Aufruf erstellt werden, funktionierte der Schutz über den Canary bisher aber nicht wie vorgesehen und konnte umgangen werden. Davon betroffen ist aber nur die ARM64-Plattform und keine der anderen unterstützen CPU-Architekturen. Hebb führt dies in der Beschreibung der Lücke auf eine Eigenart dieser Implementierung zurück. Ähnliche Lücken fanden sich bereits in der GCC-Umsetzung für ARM32 sowie im Clang-Compiler für ARM64.

Der Beitrag GCC: Forscher finden Sicherheitslücke bei Exploit-Training erschien zuerst auf Linux-Magazin.

❌
❌