Ruby / RoR

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

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

Ruby 2.1.4 veröffentlicht

Mo, 2014-10-27 12:00

Ruby 2.1.4 ist veröffentlicht worden.

Dieses Release enthält Sicherheitskorrekturen für die folgenden Schwachstellen:

Außerdem gibt es einige Fehlerkorrekturen.

Siehe die Tickets und das ChangeLog für weitere Informationen.

Update: In Ruby 2.1.3 trat ein Regressionsfehler auf, der nun behoben ist:

>> { key: if true then 0 else 1 end } SyntaxError: (irb):1: syntax error, unexpected modifier_if { key: if true then 0 else 1 end } ^ Download
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.4.tar.bz2

    SIZE: 11992171 bytes MD5: f4136e781d261e3cc20748005e1740b7 SHA256: f37f11a8c75ab9215bb9f61246ef98e0e57e1409f0872e5cf59033edcf5b8d2a SHA512: 68db1567751166c5e7d24b6e5015124b8a15568c50556e1f429486395352fa56c4a195a74820ab135697924149d014b445b345a1b9755678aaf824fba79c606b
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.4.tar.gz

    SIZE: 15127418 bytes MD5: 89b2f4a197621346f6724a3c35535b19 SHA256: bf9952cdeb3a0c6a5a27745c9b4c0e5e264e92b669b2b08efb363f5156549204 SHA512: 7a6c70ec60db9866d5988e53c75e5c7e7288d68d87ba74ad317a0f74be79b387d05f665d9273d24dc64edc011d396b6396d2c7b1de6fd6a03569103e5acdcc36
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.4.tar.xz

    SIZE: 9392500 bytes MD5: 99aa2b01240d91edaecc2fc9d8254e44 SHA256: e1cc5cbbcaa8644e282f04763d96057ddd6f443338a5019200e8726273e84fcf SHA512: b0fbecca0ffec8f6a3c5d27f62087628b8a79874b7bdbfd8ce39cfc5b6f5cb4da2f8a3e6031abae9c59273cf629f41cf5987e2a5f4c083b0f3a3b02eeb5d7dca
  • http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.4.zip

    SIZE: 16656312 bytes MD5: 71c7afca08734f0105a06d2feea11422 SHA256: bdb26a725e1fd7982f12d5390209064687def61c330b92597322e3898131391e SHA512: 7fd8d13810a4336dc498a6eb05e140825d52eca0317d0848152688060b95ce4c79ab6a10cf14ab2499ae559fb4676d86538eacd94fb262c16795067fb4f47614
Veröffentlichungskommentar

Zahlreiche Committer, Entwickler und Nutzer, die uns Fehlerberichte zukommen ließen, machten uns diese Veröffentlichung möglich. Wir danken ihnen für ihre Beiträge.

Verlauf
  • Aktualisiert: 2014-10-27 21:00:00 (UTC)
  • Erstveröffentlichung: 2014-10-27 12:00:00 (UTC)

Geschrieben von nagachika am 27.10.2014
Übersetzt von Quintus

Ruby 2.0.0-p594 veröffentlicht

Mo, 2014-10-27 12:00

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

Dieses Release enthält einen Sicherheitsfix für eine DoS-Schwachstelle in REXML.

Es enthält auch die Änderungen der Standardeinstellungen von ext/openssl. Unsichere SSL/TLS-Optionen sind nun standardmäßig deaktiviert.

Darüber hinaus wurden viele weitere Fehler korrigiert. Siehe die Tickets und das ChangeLog für weitere Informationen.

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

    SIZE: 10756895 bytes MD5: 58469c0daf5f3a892a70cc674ea59c7f SHA256: e5aee3cf36898315f87771a5e657c81befb88b6afa585b70aaa57c47cc0e99a4 SHA512: 8301a51c73fb63a8cfeb14af47d0c18b5bc3c45e3d62fc2ed56a673a1cd6b0015c41f275e70eb14a9e40036b1530977199321e05285e107a6adf58514bef1b3d
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.gz

    SIZE: 13606970 bytes MD5: a9caa406da5d72f190e28344e747ee74 SHA256: ee515dd7b17cdbc106396cd432f5662bb0b5afc05044469175914aab65f3c6e7 SHA512: a6544f68a87aa3d00a59cee8c090386cf1fa6d6bfe5730af909d614e90bff9ee64c2cf9f542f7a43f8352b86e3945693504ffed6cefc57f736c6e26670ddb9ca
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.xz

    SIZE: 8316772 bytes MD5: fc64932b4d4af0f91c03d7966fbbc9b2 SHA256: 561465447428a5bc52ed3cca98c6067948b2c81811e1445a196b1c24913b3e72 SHA512: d5ba88dd5eb3569203cbe91e75bf21bea6897338885479e34a839569de15ca2f09e4eff655636923892e9234a0f0b6a2c058442ebc1b13a3d2ddced25bd88fa8
  • http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.zip

    SIZE: 15125232 bytes MD5: d5801bbe794a07236c3bcf4a28ad3509 SHA256: 38a8db127d5b241ac2090ef75e9f7941a34851d4c6b61135b88019129f9c04a3 SHA512: 1f7d94029e5af480a0ae0ebd21129a01b0066fecd15278b272754e6e80b6a6fb1ded53fd1288e7375a17021d482a59b40414270923c2ecfb06999ea66a91fc54
Veröffentlichungskommentar

Ich bin jedem dankbar, der Ruby unterstützt. Danke.

Geschrieben von usa am 27.10.2014
Übersetzt von Quintus

Ruby 1.9.3-p550 veröffentlicht

Mo, 2014-10-27 12:00

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

Dieses Release enthält einen Sicherheitsfix für eine DoS-Schwachstelle in REXML.

Es enthält auch die Änderungen der Standardeinstellungen von ext/openssl. Unsichere SSL/TLS-Optionen sind nun standardmäßig deaktiviert.

Außerdem wurde das für das Darkfish-Thema von RDoc enthaltene jQuery aktualisiert.

Hinweis

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

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

    SIZE: 10053787 bytes MD5: c2169c8b14ccefd036081aba5ffa96da SHA256: d3da003896db47fb10ba4d2e0285eea7fe8cdc785b86c02ebad5bc9cdeaa4748 SHA512: 38767e98df25484f7292437f3cb0f798b3a43e9a7414a5401677e96ad1cc367cb3fa23ac3abe568d5bf2b2ca553713469a8770d41b79bc63daf3fa59cb4e15c6
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.gz

    SIZE: 12605180 bytes MD5: e05135be8f109b2845229c4f47f980fd SHA256: d6cf008d9f3a9aeed2ef04428f19d66e28aed8a71456f7edba68627d3302cd6b SHA512: 420d4f9fe027ffc3ec5cc4ea19cf6e1f1473199ee4af06ef364c08f4a04bf65e253b32e76f37370b8e56ad2e26d0c09e6fa5b1f7c0b407b0c68b63acd2cce975
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.xz

    SIZE: 7714228 bytes MD5: c0261155faec6cfc9aa16790ee56448f SHA256: c87f04392010ec7f01b12dcbb6d985c61d5f481e71d2a7b25b5f1e72d2d61faa SHA512: cd68e60e01c31642fac08d88846dd8ce9ba287d8322f779490a4e016611090af0cbdee5be4ac611c5468cab90c6a2cdfe2a08c0c05106b6fe61c1253e49273d5
  • http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.zip

    SIZE: 13987149 bytes MD5: 4946e5f3d083894372a7a46342e885f7 SHA256: 6e7eceddca615c19f81c125f9864de3570b9687df858cfb27298d867521d5beb SHA512: 0daa8fafa950f1e6ddf79815a615c7d730d234042718bd70e8211e4c23d7cc93126c924ad42673844c3a8cb908bf02a8d03ae2857658a027935f46c13bb17a13
Veröffentlichungskommentar

Ich bin jedem dankbar, der Ruby unterstützt. Danke.

Geschrieben von usa am 27.10.2014
Übersetzt von Quintus

CVE-2014-8080: Denial-of-Service XML-Expansion

Mo, 2014-10-27 12:00

Unkontrollierte Entitätsexpansion in REXML kann zu einer DoS-Schwachstelle führen. Dieser Sicherheitslücke wurde die CVE-Nummer CVE-2014-8080 zugewiesen. Wir raten Ihnen nachdrücklich, Ihr Ruby zu aktualisieren.

Details

Der REXML-Parser kann, wenn er Textknoten aus einem XML-Dokument ausliest, dazu gebracht werden, extrem große String-Objekte zu allozieren, welche den gesamten Speicher eines Rechners verbrauchen können, was in der Folge zu einem Denial of Service führt.

Betroffener Code sieht etwa so aus:

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

Alle Nutzer, die eine betroffene Version verwenden, sollten umgehend aktualisieren oder einen der Workarounds anwenden.

Betroffene Versionen
  • Alle 1.9er Ruby-Versionen vor Ruby 1.9.3 patchlevel 550
  • Alle 2.0er Ruby-Versionen vor Ruby 2.0.0 patchlevel 594
  • Alle 2.1er Ruby-Versionen vor Ruby 2.1.4
  • Trunk vor Revision 48161
Workarounds

Wenn Sie Ihr Ruby nicht aktualisieren können, nutzen Sie diesen Monkeypatch als Workaround für Ruby 2.1.0+:

class REXML::Entity def value if @value matches = @value.scan(PEREFERENCE_RE) rv = @value.clone if @parent sum = 0 matches.each do |entity_reference| entity_value = @parent.entity( entity_reference[0] ) if sum + entity_value.bytesize > Security.entity_expansion_text_limit raise "entity expansion has grown too large" else sum += entity_value.bytesize end rv.gsub!( /%#{entity_reference.join};/um, entity_value ) end end return rv end nil end end

Für Ruby-Versionen, die älter sind als 2.1.0, können Sie den folgenden Monkeypatch verwenden:

class REXML::Entity def value if @value matches = @value.scan(PEREFERENCE_RE) rv = @value.clone if @parent sum = 0 matches.each do |entity_reference| entity_value = @parent.entity( entity_reference[0] ) if sum + entity_value.bytesize > Document.entity_expansion_text_limit raise "entity expansion has grown too large" else sum += entity_value.bytesize end rv.gsub!( /%#{entity_reference.join};/um, entity_value ) end end return rv end nil end end Danksagung

Dank geht an Willis Vandevanter für die Meldung des Problems.

Geschichte
  • Erstmals veröffentlicht am 27.10.2014 12:00:00 (UTC)

Geschrieben von zzak am 27.10.2014
Übersetzt von Quintus

Standardeinstellungen von ext/openssl verändert

Mo, 2014-10-27 12:00

Wir haben die Standardeinstellungen von ext/openssl in Ruby 2.1.4, Ruby 2.0.0-p594 und Ruby 1.9.3-p550 so verändert, dass unsichere SSL/TLS-Optionen nun standardmäßig deaktiviert sind. Jedoch kann es aufgrund dieser Änderung zu Problemen in der SSL-Verbindung kommen.

Details

OpenSSL implementiert aus historischen Gründen noch immer einige Protokolle und Chiffren, die aus heutiger Sicht unsicher sind, darunter etwa die Sicherheitslücke POODLE (CVE-2014-3566). Wenn Sie weiterhin diese unsicheren Features von OpenSSL nutzen, riskieren Sie die Sicherheit der Netzwerkverbindungen. Daher haben wir aufgrund der Diskussion in Bug #9424 entschieden, solch unsichere SSL/TLS-Optionen standardmäßig zu deaktivieren. Wenn Sie müssen, können Sie diese Änderung (wie unten gezeigt) durch Anwendung eines Inverspatches rückgängig machen.

2.1.4
r48098
2.0.0-p594
r48110
1.9.3-p550
r48121

Wenn Sie diese Änderung allerdings rückgängig machen, besteht das Risiko, dass Sie die Sicherheit von Netzwerkverbindungen nicht mehr garantieren können. Sie sollten daher die Folgen dieser Änderung verstehen, bevor Sie sie entfernen.

Mit Ruby verteile Bibliotheken

Diese Änderung wurde in den Bibliotheken net/http, net/imap und net/pop umgesetzt. Da DRb und WEBrick ihre Einstellungen separat erhalten, sind sie von der Änderung nicht betroffen.

Skripte, die ext/openssl direkt verwenden

Diese Änderung wird bei der Instanziierung eines OpenSSL::SSL::SSLContext automatisch beachtet, wenn die Instanzmethode set_params aufgerufen wird, wie etwa insbesondere in folgendem Code:

ctx = OpenSSL::SSL::SSLContext.new ctx.set_params # Wenn Sie einige Optionen wie etwa Zertifikatspeicher, Verifizierungsmodus, usw. ändern wollen, können Sie diese Parameter als Hash übergeben ssl = OpenSSL::SSL::SSLSocket.new(socket, ctx)

Hinsichtlich der klientseitigen Nutzung von ext/openssl gehen wir davon aus, dass diese Änderung wohl keine Probleme machen wird. Wenn Sie ext/openssl allerdings serverseitig ein- und diese Änderung umsetzen, sind ältere Clients (beispielsweise Internet Explorer 6 auf Windows XP oder Browser in alten Mobiltelefonen) möglicherweise nicht mehr in der Lage, sich zum Server zu verbinden.

Es ist Ihre Entscheidung, ob Sie diese Änderung einführen oder nicht; setzen Sie sich mit den Nachteilen auseinander.

Workaround

Wenn Sie Ihr Ruby nicht aktualisieren können, aber dennoch mit unsicheren SSL/TLS-Optionen umgehen müssen, wenden Sie den folgenden Monkeypatch an:

module OpenSSL module SSL class SSLContext remove_const(:DEFAULT_PARAMS) DEFAULT_PARAMS = { :ssl_version => "SSLv23", :verify_mode => OpenSSL::SSL::VERIFY_PEER, :ciphers => %w{ ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-DSS-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 DHE-DSS-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA ECDHE-RSA-AES128-SHA ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-DSS-AES128-SHA256 DHE-DSS-AES256-SHA256 DHE-DSS-AES128-SHA DHE-DSS-AES256-SHA AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-SHA256 AES256-SHA256 AES128-SHA AES256-SHA ECDHE-ECDSA-RC4-SHA ECDHE-RSA-RC4-SHA RC4-SHA }.join(":"), :options => -> { opts = OpenSSL::SSL::OP_ALL opts &= ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS if defined?(OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS) opts |= OpenSSL::SSL::OP_NO_COMPRESSION if defined?(OpenSSL::SSL::OP_NO_COMPRESSION) opts |= OpenSSL::SSL::OP_NO_SSLv2 if defined?(OpenSSL::SSL::OP_NO_SSLv2) opts |= OpenSSL::SSL::OP_NO_SSLv3 if defined?(OpenSSL::SSL::OP_NO_SSLv3) opts }.call } end end end Von dieser Änderung betroffene Versionen
  • Ruby 1.9.3 patchlevel 550 und später
  • Ruby 2.0.0 patchlevel 594 und später
  • Ruby 2.1.4 und später
  • Revision 48097 und später auf dem Trunk
Geschichte
  • Erstmals veröffentlicht am 27.10.2014 12:00:00 (UTC)

Geschrieben von usa am 27.10.2014
Übersetzt von Quintus