Ruby / RoR

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

Unterstützung für Ruby 1.9.3 ausgelaufen

Mo, 2015-02-23 00:00

Am heutigen Tage ist jegliche Unterstützung für Ruby 1.9.3 ausgelaufen. Es werden keine Fehlerkorrekturen und Sicherheitsfixes mehr von aktuelleren Ruby-Versionen nach 1.9.3 übernommen.

Dieses Unterstützungsende ist bereits vor über einem Jahr angekündigt worden.

Wir empfehlen Ihnen dringend, so schnell wie möglich eine Aktualisierung auf Ruby 2.0.0 oder höher vorzunehmen. Kontaktieren Sie uns, wenn Sie den 1.9.3-Zweig weiterhin pflegen wollen oder es Gründe gibt, die Ihnen die Aktualisierung unmöglich machen.

Geschrieben von Olivier Lacan am 23.2.2015
Übersetzt von Quintus

Ruby 2.2.0 veröffentlicht

Do, 2014-12-25 09:00

Wir freuen uns, die Veröffentlichung von Ruby 2.2.0 bekannt geben zu können.

Ruby 2.2 enthält viele neue Features und Verbesserungen, um den wachsenden und zunehmend unterschiedlichen Anforderungen an Ruby gerecht werden zu können.

Zum Beispiel kann Rubys Garbage Collector nun auch Objekte der Klasse Symbol entfernen, wodurch der Speicherbedarf im Vergleich zu Versionen vor 2.2 reduziert wird. Rails 5.0 wird die Speicherbereinigung von Symbol-Objekten voraussetzen, weshalb es nur Ruby 2.2 oder später unterstützen wird. (Siehe den Artikel zur Veröffentlichung von Rails 4.2 für Details.)

Darüber hinaus werden durch die neu eingeführte inkrementelle Speicherbereinigung (Incremental GC) die Unterbrechungszeiten verringert, was sich ebenfalls vorteilhaft auf Rails-Anwendungen auswirken wird. Neuere Entwicklungen, die im Rails-Blog erwähnt worden sind, deuten an, dass Rails 5.0 neben der Speicherbereinigung von Symbolen auch die inkrementelle Speicherbereinigung nutzen wird.

Ein weiteres Feature mit Bezug zur Speicherverwaltung ist eine zusätzliche Option für configure.in um jemalloc zu aktivieren Feature #9113. Dieses Feature ist noch experimentell und derzeit standardmäßig nicht aktiviert, solange wir noch nicht genügend Daten zu Performance und möglichen Anwendungsfällen haben. Sobald wir vom Nutzen dieses Features überzeugt sind, werden wir es standardmäßig aktivieren.

Des Weiteren wurde experimentelle Unterstützung der Nutzung von vfork(2) mit system() und spawn() hinzugefügt. Näheres kann in tanaka-san’s Blog (Japanisch) nachgelesen werden. Dies könnte möglicherweise große Geschwindigkeitssteigerungen bewirken, wenn ein großer Prozess vielfach externe Befehle ausführt. Jedoch ist vfork(2) noch nicht gut verstanden und ein potenziell gefährlicher Systemaufruf. Wir möchten gerne ausloten, welchen Nutzen dieses Feature bringen kann, indem wir Performance-Daten und Anwendungsfälle sammeln.

Wir wünschen viel Freude beim Programmieren mit Ruby 2.2.0; probiert es aus und berichtet uns von Euren Erfahrungen!

Wesentliche Änderungen seit Ruby 2.1

Siehe die NEWS im Ruby-Repository für Details.

Damit folgen seit Version 2.1.0: 1557 geänderte Dateien, 125039 Einfügungen(+), 74376 Löschungen(-)!

Download
  • http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.bz2
    • SIZE: 13304042 bytes
    • MD5: d03cd4690fec1fff81d096d1c1255fde
    • SHA256: 1c031137999f832f86be366a71155113675b72420830ce432b777a0ff4942955
    • SHA512: 04edc53e8cd1732c3ca61ebeb1d6133614beb10f77f9abb80d8d36352fe8aa205112068e460bf600b2c7e81e0ddcc3b311e7e027c320366f1bd992b3e378a6ad
  • http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
    • SIZE: 16494584 bytes
    • MD5: cd03b28fd0b555970f5c4fd481700852
    • SHA256: 7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
    • SHA512: 1ba0c68e1c8d2b60bbd1e218cf36463edbe34cf9418d7593702b631e68d02297465f752e71395f6cfa4104f4cd70a1eb44381ffb74bc7801758b830931fdcfc6
  • http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.xz
    • SIZE: 10304244 bytes
    • MD5: 54b43c6c6c9dd4c4b08ceb03ad0ded7a
    • SHA256: 848714e280fc5fb44dbac3b060b206e56c1947006324ee68a174d68b483ef8ca
    • SHA512: cd7e52faa464df8aca7ccfa23a5f06248e1ad82bc8c9f1829aa1b51ff37b15973b8caaa68e914d837325b8d59427fda4f3cad82c50925e1c84e688324a2a155d
  • http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.zip
    • SIZE: 18441027 bytes
    • MD5: f8e1d0cee4f2d9535a9529ed23ae3700
    • SHA256: e06c1e2b1248cf881749833084b2bec93f7612676009190ff9bc89b8fd07c29f
    • SHA512: 364dd927b496520d95a1b06c68e1a265015f4cab08bdf3efaa323d385e7bf075eae47f2e1db78a629db0f3c0c1ed24e086603ba21e2da02ac06dd3c8b716766e

Geschrieben von naruse am 25.12.2014
Übersetzt von Marcus Stollsteimer

Ruby 2.1.5 veröffentlicht

Do, 2014-11-13 12:00

Ruby 2.1.5 wurde soeben veröffentlicht.

Dieses Release enthält eine Sicherheitskorrektur für eine DoS-Verwundbarkeit in REXML. Diese Sicherheitslücke ähnelt, unterscheidet sich aber von der korrigierten Schwachstelle im vorherigen Release. Weitere Informationen finden Sie im folgenden Artikel:

Dieses Release enthält außerdem einige Fehlerkorrekturen. Siehe die Tickets und das ChangeLog für Details.

Download
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.bz2

    SIZE: 11994454 bytes MD5: a7c3e5fec47eff23091b566e9e1dac1b SHA256: 0241b40f1c731cb177994a50b854fb7f18d4ad04dcefc18acc60af73046fb0a9 SHA512: d4b1e3c2b6a0dc79846cce056043c48a2a2a97599c76e9a07af21a77fd10e04c8a34f3a60b6975181bff17b2c452af874fa073ad029549f3203e59095ab70196
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz

    SIZE: 15127433 bytes MD5: df4c1b23f624a50513c7a78cb51a13dc SHA256: 4305cc6ceb094df55210d83548dcbeb5117d74eea25196a9b14fa268d354b100 SHA512: a7da8dc755e5c013f42269d5e376906947239b41ece189294d4355494a0225590ca73b85261ddd60292934a8c432231c2308ecfa137ed9e347e68a2c1fc866c8
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.xz

    SIZE: 9371780 bytes MD5: 8a30ed4b022a24acbb461976c9c70789 SHA256: 22ba1eb8d475c9ed7e0541418d86044c1ea4c093ab79c300c38fc0f721afe9a3 SHA512: 8a257da64158d49bc2810695baf4b5849ef83e3dde452bf1e4823e52e8261225427d729fce2fb4e9b53d6d17ca9c96d491f242535c2f963738b74f90944e2a0b
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.zip

    SIZE: 16657694 bytes MD5: 810cd05eb03c00f89b0b03b10e9a3606 SHA256: 69c517a6d3ea65264455a9316719ffdec49cf6a613a24fd89b3f6da7146a8aa7 SHA512: a55cf5970203904e7bc8cef2b6fbf7b8d5067a160289a1a49d13c4dfef8c95002bcdf697f5d04d420ef663efad5ee80d5a9e4e7445c4db9a02f9cbc9e4b8444e
Veröffentlichungskommentar

Wir bitten um Verzeihung für die mit den häufigen Releases verbundenen Unannehmlichkeiten. Danke an alle, die bei diesem Release mitgewirkt haben.

Geschrieben von nagachika am 13.11.2014
Übersetzt von Marcus Stollsteimer

Ruby 2.0.0-p598 veröffentlicht

Do, 2014-11-13 12:00

Wir freuen uns, die Veröffentlichung von Ruby 2.0.0-p598 ankündigen zu können.

Dieses Release enthält eine Sicherheitskorrektur für eine DoS-Verwundbarkeit in REXML. Diese Sicherheitslücke ähnelt, unterscheidet sich aber von der korrigierten Schwachstelle im vorherigen Release. Weitere Informationen finden Sie im folgenden Artikel:

Dieses Release enthält außerdem einige Fehlerkorrekturen. Siehe die Tickets und das ChangeLog für Details.

Download
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p598.tar.bz2

    SIZE: 10758882 bytes MD5: a3f3908103a7d209d1d1cf4712e3953c SHA256: 67b2a93690f53e12b635ba1bcdbd41e8c5593f13d575fea92fdd8801ca088f0f SHA512: 10026a04e01a8ad14ea9c99bbdf4f7d04029b73ee0c01bbf6c2eb2817332d49adacf127b646693b67b5dd7010eaf3b696b23b6335cc0f7ee5a6b56dbba0f6f82
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p598.tar.gz

    SIZE: 13608640 bytes MD5: e043a21ce0d138fd408518a80aa31bba SHA256: 4136bf7d764cbcc1c7da2824ed2826c3550f2b62af673c79ddbf9049b12095fd SHA512: 0548aba9bf45e380e5f73e73168ea7fea341fc9739e108c7d530d11b677f6a78b2c4e29062d16a73b4286acaa2333ed20cb34e16b65b5b6898da66661f1717da
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p598.tar.xz

    SIZE: 8316092 bytes MD5: 2ec36f7018eef05003bf8cf0e0f05def SHA256: 9dccf4c30e1bb004b18cb1129d9daac3c0ec510a671f4f4f13a2747897ffab35 SHA512: bf7b93d9fbaab98a64d1f45c3f3bbcdfebd3e1d0584dfb27696b2716d93c2ba13881e1edaef6d3eccd769ac2e21d6157024c902f3d891951a20b972c1942ef99
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p598.zip

    SIZE: 15126384 bytes MD5: aa6ac22747947e6562d5b0dc9767ecda SHA256: d5bdafd7b0fbd4254902ba10385c6e5812beac4ad221805aa4d92a37eff47f97 SHA512: 6cdaf7f2d27a5f0ead9b94325b9c9fe90cf04c64dedaea8e1d45a8855a73ad61c5c72f1fda835eab73693c25c15a74c7e4e639ed5c18a9433dd79e398600b3ea
Veröffentlichungskommentar

Wir bitten um Verzeihung für die mit den häufigen Releases verbundenen Unannehmlichkeiten. Danke an alle, die bei diesem Release mitgewirkt haben.

Geschrieben von usa am 13.11.2014
Übersetzt von Marcus Stollsteimer

Ruby 1.9.3-p551 veröffentlicht

Do, 2014-11-13 12:00

Wir freuen uns, die Veröffentlichung von Ruby 1.9.3-p551 ankündigen zu können.

Dieses Release enthält eine Sicherheitskorrektur für eine DoS-Verwundbarkeit in REXML. Diese Sicherheitslücke ähnelt, unterscheidet sich aber von der korrigierten Schwachstelle im vorherigen Release. Weitere Informationen finden Sie im folgenden Artikel:

Hinweis

Ruby 1.9.3 befindet sich nun in der Sicherheitspflege; das bedeutet, dass wir abgesehen von Sicherheitslücken keine Fehler mehr beheben werden. Ferner wurde das Ende der Unterstützung für Version 1.9.3 auf den Februar nächsten Jahres festgelegt. Wir empfehlen allen Nutzern von Ruby 1.9.3, so schnell wie möglich auf eine neuere Version zu wechseln.

Download
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.tar.bz2

    SIZE: 10049332 bytes MD5: 0d8b272b05c3449dc848bb7570f65bfe SHA256: b0c5e37e3431d58613a160504b39542ec687d473de1d4da983dabcf3c5de771e SHA512: 5ea40f8c40cf116030ffdedbe436c1fdbf9a50b7bb44bc890845c9c2a885c34da711bc1a9e9694788c2f4710f7e6e0adc4410aec1ab18a25a27168f25ac3d68c
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.tar.gz

    SIZE: 12605119 bytes MD5: 0d8212f7bc89bab8ef521b04cd9df278 SHA256: bb5be55cd1f49c95bb05b6f587701376b53d310eb1bb7c76fbd445a1c75b51e8 SHA512: be12adf581ee76af70db117b44c6647c1df3d28fffa1b3379c6067e4aa1fb523dae7c9b130a51dcdcff268a8ee21a3d74f6f946135fb3ac6b90664f0a9df4a08
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.tar.xz

    SIZE: 7704072 bytes MD5: 7367b1dfb2ba1d6abf6fd7db70e765f5 SHA256: 44228297861f4dfdf23a47372a3e3c4c5116fbf5b0e10883417f2379874b55c6 SHA512: 2dd4cd7494d0d9b1cc2a5c3710a2c771617a367d1ba6f5099adc2785e37efcb668c6508780562359a4a4c83733e349aa5cb4f8532e1f334f9f96543670d35729
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.zip

    SIZE: 13987275 bytes MD5: 14a394b1d7b7031b34d4d1af64ee657e SHA256: cf468ccabd5cdef5047b8f02f4f71052fd3a9c87c12aba314f04748a451a63ec SHA512: 6ee550c7e435622114e3669393220a90946652eade0a83dab74970fff7088d5c2051bee9c272e2e6eccc36885b4f64928fc2d27c36584c1cc8dac91ce730d3ea
Veröffentlichungskommentar

Wir bitten um Verzeihung für die mit den häufigen Releases verbundenen Unannehmlichkeiten. Danke an alle, die bei diesem Release mitgewirkt haben.

Geschrieben von usa am 13.11.2014
Übersetzt von Marcus Stollsteimer

CVE-2014-8090: Weitere Denial-of-Service XML-Expansion

Do, 2014-11-13 12:00

Unbeschränkte Entitätsexpansion kann zu einer DoS-Schwachstelle in REXML führen, ähnlich wie in “Entitätsexpansion-DoS-Schwachstelle in REXML (XML-Bombe, CVE-2013-1821)” und “CVE-2014-8080: Denial-of-Service XML-Expansion”. Dieser Sicherheitslücke wurde die CVE-Nummer CVE-2014-8090 zugewiesen. Wir empfehlen dringend, Ruby zu aktualisieren.

Details

Dies ist eine weitere Korrektur für CVE-2013-1821 und CVE-2014-8080. Die bisherigen Patches haben mehrere Probleme bei der rekursiven Expansion und die Gesamtgröße der erzeugten Strings korrigiert. Sie haben jedoch die bisherige Schranke für Entitätsexpansionen außer Acht gelassen. Rekursive Entitätsexpansion mit einem leeren String kann zu vollständiger Auslastung der CPU führen. Ferner kann der REXML-Parser dazu gebracht werden, extrem große String-Objekte zu allozieren, wenn er Textknoten aus einem XML-Dokument ausliest. Diese können den gesamten Speicher eines Rechners belegen, was zu einem Denial-of-Service führt.

Betroffener Code sieht etwa folgendermaßen aus:

require 'rexml/document' xml = <<XML <!DOCTYPE root [ # ENTITY expansion vector ]> <cd></cd> XML p REXML::Document.new(xml)

Alle Nutzer, die eine betroffene Ruby-Version einsetzen, sollten diese entweder aktualisieren oder den Workaround anwenden.

Betroffene Versionen
  • Alle Versionen von Ruby 1.9 vor Ruby 1.9.3 patchlevel 551
  • Alle Versionen von Ruby 2.0 vor Ruby 2.0.0 patchlevel 598
  • Alle Versionen von Ruby 2.1 vor Ruby 2.1.5
  • Alle Trunk-Revisionen vor Revision 48402
Workaround

Wenn Sie Ihr Ruby nicht aktualisieren können, nutzen Sie diesen Monkeypatch als Workaround:

class REXML::Document def document self end end Danksagung

Dank an Tomas Hoger für das Melden des Problems.

Verlauf
  • Veröffentlicht am 2014-11-13 12:00:00 UTC

Geschrieben von usa am 13.11.2014
Übersetzt von Marcus Stollsteimer