Ruby / RoR

Syndicate content
Aktuelle Meldungen zum Thema Ruby und Ruby on Rails (RoR).
Updated: 4 hours 19 min ago

Schwere Sicherheitslücke in TLS-Heartbeat-Erweiterung von OpenSSL (CVE-2014-0160)

Do, 2014-04-10 01:04

In der OpenSSL-Implementation der Heartbeat-Erweiterung (RFC6520) von TLS/DTLS (Protokolle zum Verschlüsseln der Transportschicht) wurde eine kritische Sicherheitslücke entdeckt. Es handelt sich hierbei um ein schwerwiegendes Sicherheitsproblem, dem die CVE-Kennung CVE-2014-0160 zugewiesen wurde.

Seine Ausnutzung kann das Auslesen des Serverspeichers durch den Client und umgekehrt ermöglichen; ein Angreifer kann auf diese Weise sensible Daten wie beispielsweise — aber nicht nur — die für die SSL-Verschlüsselung genutzen geheimen Schlüssel und Authentifizierungs-Tokens erhalten.

Weitere Informationen zu den Angriffen finden Sie auf heartbleed.com.

In wiefern ist Ruby betroffen?

Ruby ist dann betroffen, wenn es über die OpenSSL-C-Extension in der Standard Library statisch gegen eine verwundbare Version von OpenSSL gelinkt wurde.

Von diesem Angriff betroffen sind die OpenSSL-Versionen 1.0.1 bis 1.0.1f (eingeschlossen). Sie können wie folgt herausfinden, mit welcher Version der OpenSSL-Bibliothek Ruby gelinkt wurde:

ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"], [Fiddle::TYPE_INT], Fiddle::TYPE_VOIDP).call(0)'

Um herauszufinden, welche Version von OpenSSL momentan mit Ruby installiert ist, gehen Sie so vor:

ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

Mit emboss’ Skript können Sie überprüfen, ob Ihre Client-Software oder ein Service verwundbar ist.

Lösungen

Zur Aktualisierung auf OpenSSL Version 1.0.1g oder jünger sollten Sie den Paketmanager Ihres Betriebssystems darauf hin überprüfen, ob ein aktuelles OpenSSL angeboten wird. Möglicherweise müssen Sie, um die Frage zu beantworten, ob die angebotene Version von OpenSSL unabhängig von der verfügbaren Versionsnummer gepatched wurde, Ihren Betriebssystem-Distributor kontaktieren.

Wenn eine Aktualisierung keine Möglichkeit darstellt, kompilieren Sie ein korrigiertes OpenSSL mit der Option -DOPENSSL_NO_HEARTBEATS.

Bei einem aktualisierten OpenSSL wird empfohlen, Ruby neu zu kompilieren um sicherzustellen, dass keine Links zu einer verwundbaren OpenSSL-Version mehr zurückbleiben.

Das bedeutet auch, dass alle Werkzeuge, mit denen Ruby gebaut werden kann, also etwa RVM oder ruby-build, ebenfalls aktualisiert werden müssen. Wenn Sie Ruby selbst kompilieren, benutzen Sie die --with-openssl-dir-Option, um gegen das aktualisierte OpenSSL-Installationsverzeichnis zu linken.

$ ./configure --with-openssl-dir=/path/to/openssl $ make $ make install

Nachdem Sie OpenSSL und Ruby aktualisiert haben, ist es erforderlich, alle Programme, die noch die verwundbare Version benutzen, neu zu starten.

Zahlreiche Betriebssystemdistributionen bieten bereits korrigierte Versionen und neu gebaute Pakete für die von diesem Angriff betroffenen Bibliotheken an (oder werden es in naher Zukunft tun). Es ist daher für die Aufrechterhaltung Ihrer Sicherheit unerlässlich, Ihren Betriebssystem-Distributor im Auge zu behalten.

Geschrieben von hone and zzak am 10.4.2014
Übersetzt von Quintus

Heap-Überlauf beim Parsen von URI-Escape-Sequenzen in YAML (CVE-2014-2525)

Sa, 2014-03-29 01:49

Beim Parsen von URI-Escape-Sequenzen in YAML kann es in Ruby zu einem Überlauf kommen. Dieser Sicherheitslücke wurde die CVE-Nummer CVE-2014-2525 zugewiesen.

Details

Immer dann, wenn ein YAML-String mit Tags geparst wird, kann ein speziell angefertigter String einen Heap-Überlauf verursachen, der möglicherweise zur Ausführung beliebigen Codes führen kann.

Verwundbarer Code sieht zum Beispiel so aus:

YAML.load <code_from_unknown_source> Betroffene Versionen

Seit Ruby 1.9.3-p0 wird standardmäßig psych als YAML-Parser verwendet. Betroffen sind alle Versionen von psych, die gegen libyaml <= 0.1.5 gelinkt sind.

Die verwendete Version von libyaml kann festgestellt werden mit:

$ ruby -rpsych -e 'p Psych.libyaml_version' [0, 1, 5] Lösungen

Nutzer, die libyaml systemweit installiert haben, sollten libyaml auf die Version 0.1.6 aktualisieren. Beim erneuten Kompilieren von Ruby muss der Pfad der aktualisierten Version angegeben werden:

$ ./configure --with-yaml-dir=/path/to/libyaml

Nutzer ohne eine systemweite Installation von libyaml verwenden die in psych eingebundene Version. Diesen Nutzern wird empfohlen, psych auf die Version 2.0.5 zu aktualisieren, die libyaml 0.1.6 ausliefert:

$ gem install psych Verlauf
  • Erstveröffentlichung: 2014-03-29 01:49:25 UTC
  • Aktualisiert: 2014-03-29 09:37:00 UTC

Geschrieben von hone and zzak am 29.3.2014
Übersetzt von Marcus Stollsteimer

eurucamp 2014 Termine und CFP

Sa, 2014-03-15 14:00

eurucamp 2014 wird am 1. bis 3. August um Berlin herum stattfinden. eurucamp ist aus der EuRuKo 2011 hervorgegangen und findet seither jährlich statt.

Der Call for Proposals läuft bis zum 1. Mai 2014. Der CFP ist anonym und fair, alle Vortragsslots sind frei verfügbar und werden über den CFP ausgewählt. Dazu bietet eurucamp ein Mentorenprogramm für alle.

Wir suchen sowohl nach Vorträgen als auch nach Workshops, die sich mit Ruby und seiner Community beschäftigen. Details finden sich in unserem CFP guide.

Das eurucamp ist eine Sommerkonferenz mit reichlich Zeit für Gespräche und vielen Gelegenheiten, eigene Ideen einzubringen. Unser Video über eurucamp 2012 und unsere Vimeo-Seite sollten einen guten Eindruck vermitteln. Unsere “eurucamp activites”-App bietet einen guten Überblick darüber, was auf und um der Konferenz geschieht.

eurucamp nimmt seinen Code of Conduct ernst. Wir sind familienfreundlich und bieten Kinderpflege an. Darüber hinaus unterstützen wir Menschen mit Einschränkungen beim Besuch der Konferenz.

Das eurucamp ist eine international Konferenz mit Besuchern aus der ganzen Welt.

Der Ticketverkauf startet bald.

Geschrieben von Florian Gilcher am 15.3.2014

Regression in Hash#reject in Ruby 2.1.1

Mo, 2014-03-10 14:00

In Ruby 2.1.0 und früher gab die reject-Methode jeder Klasse, die von Hash erbt, ein Objekt der eigenen Klasse zurück. In Ruby 2.1.1 hat sich dieses Verhalten versehentlich in der Weise verändert, dass stets ein gewöhnliches Hash-Objekt anstelle eines Objekts der Subklasse zurückgegeben wird.

class SubHash < Hash end p Hash.new.reject { }.class #=> 2.1.0: Hash, 2.1.1: Hash p SubHash.new.reject { }.class #=> 2.1.0: SubHash, 2.1.1: Hash

(Um es ganz genau zu sagen: eigene Erweiterungen etwa in Form von Instanzvariablen werden ebenfalls nicht übernommen.)

Ruby 2.1.1 sollte derartige Verhaltensänderungen nicht enthalten, weil wir mit der Veröffentlichung von Ruby 2.1.0 unsere Versionierungs-Richtlinien geändert haben und Ruby 2.1.1 somit ein Patchlevel-Release ist, das die Rückwärtskompatibilität beibeihalten sollte.

Diese Regression betrifft möglicherweise viele Bibliotheken; Beispiele sind etwa Rails’ HashWithIndifferentAccess und OrderedHash. Sie funktionieren zurzeit nicht: Rails-Ticket #14188.

In Ruby 2.1.2 wird das ursprüngliche Verhalten von 2.1.0 wiederhergestellt werden, ab Ruby 2.2.0 wird dieses neue Verhalten jedoch voraussichtlich der Standardfall sein: Feature #9223. Wir empfehlen Ihnen daher, Ihren Code der neuen Situation anzupassen.

Dieser Unfall wurde durch einen fehlenden Backport-Commit verursacht. Weitere Informationen dazu können Sie unter http://blog.sorah.jp/2014/03/10/hash-reject-regression-in-ruby211 finden.

Wir entschuldigen uns für die Unannehmlichkeiten und danken Ihnen für Ihre Unterstützung.

Geschrieben von sorah am 10.3.2014
Übersetzt von Quintus

Ruby 2.0.0-p451 veröffentlicht

Mo, 2014-02-24 12:00

Heute, am 24. Februar, ist Rubys 21. Geburtstag und so freuen wir uns, ein neues Patch-Release ankündigen zu können: Ruby 2.0.0-p451.

Diese Veröffentlichung enthält zahlreiche Fehlerkorrekturen. Siehe die Tickets und das ChangeLog für weitere Informationen.

Download Release Comment

Viele Committer, Entwickler und Nutzer, die Fehler gemeldet haben, halfen mir bei dieser Veröffentlichung. Ich danke ihnen für ihre Mitarbeit.

Geschrieben von nagachika am 24.2.2014
Übersetzt von Quintus

Ruby 2.1.1 veröffentlicht

Mo, 2014-02-24 05:00

Heute, am 24. Februar, ist Rubys 21. Geburtstag und so freuen wir uns, ein neues Patch-Release von Ruby 2.1 ankündigen zu können: Ruby 2.1.1.

Ruby 2.1 bringt zahlreiche Verbesserungen ohne größere Inkompatibilitäten mit, darunter Geschwindigkeitssteigerungen. Sie können dies bei Rails und anderen Anwendungen vorteilhaft ausnutzen.

Diese Veröffentlichung enthält viele Fehlerkorrekturen. Für nähere Informationen siehe die Tickets und das ChangeLog.

Wie schon früher angekündigt heißt diese Version gemäß des neuen Versionierungsschemas für Ruby 2.1 nur noch „2.1.1“.

Update: Wir haben eine Regression in Hash#reject festgestellt. Siehe Regression in Hash#reject in Ruby 2.1.1 für nähere Informationen.

Download

Geschrieben von naruse am 24.2.2014
Übersetzt von Quintus

Ruby 1.9.3-p545 veröffentlicht

Mo, 2014-02-24 05:00

Happy Birthday, Ruby! Heute, am 24. Februar, ist Rubys 21. Geburtstag und aus diesem Anlass wurde Ruby 1.9.3-p545 veröffentlicht.

Hierbei handelt es sich um die letzte planmäßige Veröffentlichung von Ruby 1.9.3, d.h. Ruby 1.9.3 geht nun in die Phase der Sicherheits-Maintenance über und es wird keine weiteren Veröffentlichungen geben, sofern nicht kritische Regressionen oder Sicherheitsprobleme gefunden werden. Danach wird die Unterstützung von Ruby 1.9.3 am 24. Februar 2015 vollständig eingestellt.

Diese Veröffentlichung enthält zahlreiche Fehlerkorrekturen. Siehe die Tickets und das ChangeLog für weitere Informationen.

Download Release Comment

Ich danke allen, die Ruby unterstützen. Vielen Dank.

Diese Veröffentlichung erfolgt im Gedenken an unseren besten Kameraden, Jim Weirich. Vielen Dank dir, Jim. Ruhe in Frieden.

Geschrieben von usa am 24.2.2014
Übersetzt von Quintus

Ruby Hero Award 2014: Nominierungen beginnen

Mi, 2014-02-12 14:02

Hat dir im vergangenen Jahr jemand besonders geholfen? Dich bei etwas angeleitet, ein besonders praktisches Gem geschrieben oder dir einfach bei einem technischen Problem geholfen? Wenn dir jemand einfällt, dann nimm dir doch bitte die Zeit, die Person für einen Ruby Heroes Award zu nominieren.

Über die letzten 6 Jahre habe ich 38 Auszeichnungen an diejenigen vergeben, die sonst nicht im Rampenlicht stehen. In drei Wochen werden die Ruby Heroes der vorherigen Jahre alle Nominierungen anschauen und entscheiden, an wen die diesjährigen Preise gehen. Popularität ist kein Entscheidungskriterium. Die Nomininierungen sind wichtige Hinweise und wir freuen uns sehr über einen Moment Zeit.

Ruby Heroes

Geschrieben von Gregg Pollack am 12.2.2014
Übersetzt von Florian Gilcher

Unterstützung für Ruby 1.9.3 endet am 23. Februar 2015

Fr, 2014-01-10 00:00

Heute geben wir unsere Pläne hinsichtlich der Zukunft von Ruby 1.9.3 bekannt.

Momentan befindet sich der betreffende Branch im Maintenance-Modus und wird bis zum 23. Februar 2014 auch so verbleiben.

Ab dem 23. Februar 2014 werden wir bis zum 23. Februar 2015 nur noch sicherheitskritische Korrekturen an 1.9.3 vornehmen, danach endet die Unterstützung für 1.9.3 vollständig.

Wir empfehlen Ihnen nachdrücklich, so schnell wie möglich auf Ruby 2.1 oder 2.0.0 zu aktualisieren.

Geschrieben von hsbt am 10.1.2014
Übersetzt von Quintus