Ruby 1.8 BigDecimal DoS vulnerability
Deze nacht maakte de Ruby-lang site een vulnerability in ruby bekend die ervoor zorgt dat je ruby-process onverwacht afsluit. Het gaat om de BigDecimal klasse die bij het parsen van een groot getal een fout maakt. Gezien deze klasse door Rails wordt gebruikt om ActiveRecord attributen om te zetten naar getallen, zijn veel Rails applicaties kwetsbaar.
De bug in kwestie kan worden gerepliceerd met de volgende lijn code in console:
ruby -rbigdecimal -e "BigDecimal('9E69999999').to_s('F')"
Als deze lijn "Segmentation Fault" teruggeeft is je Ruby-versie kwetsbaar. Deze voormiddag hebben we reeds al onze shared hosting servers gepatched, en momenteel zijn we bezig de managed servers die Ruby gebruiken te patchen. Wanneer u gebruik maakt van onze hostingdiensten is uw website normaal niet meer kwetsbaar, of zal dit zeer binnenkort niet meer zijn.
De aankondiging van deze kwetsbaarheid is te vinden op http://www.ruby-lang.org/en/news/2009/06/09/dos-vulnerability-in-bigdecimal/. De mensen van Ruby on Rails hebben ook een gem beschikbaar gemaakt die het probleem omzeilt. Wanneer je de gebruikte Ruby niet kan upgraden, gebruik dan zeker de bigdecimal-segfault-fix gem in je applicaties.
Update: ook de managed servers zijn nu gepatched.