Tag-Archive for » Bibliothek «

Scriptsprache Ruby 2.5.0 verfügbar

Traditionell erscheinen größere neue Releases des Ruby-Projekts zwischen den Jahren. Und rechtzeitig vor dem gerade gelaufenen Jahreswechsel haben die Entwickler mit Ruby 2.5.0 die erste stabile Version in der 2.5er-Serie der Sprache vorgestellt. Außer Performance-Verbesserungen bringt die neue Version der Skriptsprache auch einige neue Features mit.

Dazu gehört unter anderem zum Beispiel die Unterstützung für Codeverzweigungs- und Methodenanalysen, um Entwicklern mehr Überblick der Testabdeckung ihrer Programme zu bringen. Das erweitert die Ergebnisse einer Testsuite um Informationen zu den logischen Zweigen in dem Code, die ausgeführt wurden und zeigt auch die dabei ausgeführten Methoden.

Entfernt haben die Entwickler aus ihrer Sicht unnötigen Ballast, wie zum Beispiel den trace-Befehl, der für die Unterstützung der TracePoint-API nötig war. Da die API jedoch so gut wie gar nicht genutzt wurde, hat das Entwickler-Team sämtliche trace-Befehle aus dem Bytecode (instruction sequences) entfernt und durch dynamische Hook Points ersetzt. Das soll zusammen mit einigen weiteren optimierten Methoden zu einer Verbesserung der Performance von bis zu 10 Prozent führen.

Weitere Neuerungen

Die häufig genutzte Bibliothek pp.rb  wird in Ruby 2.5 jetzt automatisch geladen, der Befehl require “pp” ist nicht mehr nötig. Außerdem können die mit Struct.new erzeugten Klassen jetzt auch unmittelbar mit Schlüsselwortargumenten (keyword arguments) umgehen.

Ausgabe von Backtraces und Fehlermeldungen erfolgen jetzt in umgekehrter Reihenfolge, so dass der aktuellste Aufruf als Letzter erscheint. So lässt sich die Ursache für ein langes Backtrace ganz einfach am Ende erkennen, falls das Backtrace dann direkt auf einem Terminal (TTY) ausgegeben wird.

Weitere Details zu Ruby 2.5.0, eine komplette Übersicht der Neuerungen und auch die Download-Links finden Sie in den Release-Informationen zu Ruby 2.5.

Sicherheitsupdates für aktive PHP-Versionen

Die PHP-Versionen 5.5, 5.6 und 7.0 sind über zwei Sicherheitslücken verwundbar. Angreifer können diese Installationen aus der Ferne attackieren, Speicherfehler auslösen und dann eigenen Code auf diese Systeme übertragen und ausführen.

Diese zwei Schwachstellen wurden in den jetzt zum Download bereitstehenden Versionen PHP 5.5.35, 5.6.21 und 7.0.6 geschlossen. Die dazugehörigen Windows-Binaries finden Sie auf dieser Webseite.

Sicherheitslücken und Exploits

Die Sicherheitslücke CVE-2016-3078 betrifft alle PHP-Versionen vor 7.0.6. Nutzen die Angreifer diese Schwachstelle aus, dann können sie über ein dafür präpariertes Zip-Archiv einen Speicherfehler hervorrufen und dann eigenen Code auf dem Rechner ausführen.

Die zweite Schwachstelle mit der Kennung CVE-2016-3074 steckt in der Bild-Bibliothek libgd 2.1.1, die seit PHP 4.3 bei der Default-Installation standardmäßig auf den Rechner kommt. Um über diese Schwachstelle einen Speicherfehler auszulösen, müssen die Angreifer dem Opfer komprimierte gd2-Daten unterjubeln. Danach können sie das System entweder crashen oder darauf sogar Schadcode ausführen.

Das Ende von PHP 5.5

AchtungBei dieser Gelegenheit möchte ich darauf hinweisen, daß der Support der Entwickler für die PHP-Version 5.5 schon am 10. Juli 2015 endete.

Sicherheitsupdates gibt es für PHP 5.5 jetzt noch bis zum 10. Juli 2016 – in 2 Monaten sollte man also im eigenen Interesse auf die neueren Zweige 5.6 (Sicherheitsupdates bis 28. August 2017) oder noch besser auf PHP 7.0 (aktuellste Version) upgraden.

Schwerwiegende Sicherheitslücke in Linux-Systemen

linuxAdministratoren von Linux-Systemen haben jetzt eine Sorge mehr: Mit gezielten DNS-Antworten lässt sich nämlich unter Umständen die Namensauflösung der Glibc-Bibliothek dazu mißbrauchen, unauthorisiert fremden Code auszuführen. Glibc ist die normalerweise auf Linux-Systemen genutzte Standard-C-Bibliothek.

Zu dem Problem schreibt das Sicherheitsteam von Google, dass es die Lücke eher zufällig gefunden habe, weil der SSH-Client eines Entwicklers des Konzerns mehrfach abgestürzt sei, wenn er versucht habe, sich mit einem bestimmten Host zu verbinden.

Die genauere Analyse habe dann ergeben, dass der Fehler nicht etwa wie zunächst vermutet in SSH, sondern in der Glibc-Bibliothek des Systems aufgetreten sei.

Dann stellten die Google-Entwickler fest, daß der Fehler im Bugtracker der Glibc schon eingetragen war, allerdings ging daraus nicht hervor, dass es sich um eine kritische Lücke handelte. Weitere technische Details zu diesem ernsten Linux-Problem finden Sie bei Golem.

Das neue jQuery 2.0 arbeitet nur mit modernen Browsern

jQuery2Die gerade erschienene Version 2.0 der Java-Bibliothek jQuery wurde deutlich abgespeckt, weil die für ältere Browser wie den Internet Explorer 8, 7 und 6 von Microsoft nötigen Code-Teile herausgenommen wurden. Das macht jQuery 2.0 schlanker und schneller.

Die neue Version der Bibliothek ist besonders für moderne Webanwendungen und mobile Geräte gedacht, und da spielen diese alten Browser keine Rolle mehr bzw. haben sie nie gespielt, so dass man als Entwickler von Internetseiten damit keine Probleme hat und sich über die so hinzugewonnene Performance freuen kann.

Die alten IE-Versionen lassen sich dabei zwar weiter über die sogenannten Conditional Comments nutzen, empfohlen wird aber, dass Entwickler, die auch weiterhin IE 6, 7 und 8 bedienen wollen, besser jQuery 1.x nutzen sollen.

Aber Vorsicht: Die Versionen 9 und 10 des IE werden dann nicht unterstützt, wenn sie im Modus “Compatibility View” sind. Deshalb wird jQuery 1.x wohl noch einige Zeit weiter betrieben.