Slashdot Log In
Multiple Security Holes In Ruby 1.8, 1.9
Posted by
kdawson
on Monday June 23, @08:07AM
from the that-ain't-good dept.
from the that-ain't-good dept.
ruphus13 notes a six-pack of serious vulnerabilities discovered in Ruby by a member of Apple's security team, Drew Yao. Patches are linked from the ruby-lang.org advisory. "With the following vulnerabilities, an attacker can lead to denial of service condition or execute arbitrary code... These vulnerabilities are likely to crop up in just about any average ruby web application. And by 'crop up' I mean 'crop up exploitable from trivial user-specified parameters.' It's not hard to begin imagining cases where Ruby/Rails programmers use code similar to the samples above to routinely handle user input."
Related Stories
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.

good news (Score:5, Funny)
Now it's time to start calling up all those RoR sites and use this to convince them to switch the Django.
Reply to This
Someone had to say... (Score:5, Funny)
Reply to This
FUD? (Score:3, Insightful)
Huh? Who lets users enter arbitrary integers to index into arrays? Or let's users submit arbitrary loops for execution? Apart from the statement quoted above, what indication is there that any of these would "crop up" in any but the most contrived circumstances?
--MarkusQ
Reply to This
I have patched all of my customer's servers (Score:3, Insightful)
I did some testing on an off line server, and then pushed these patches.
I am concerned about "Ruby the Platform". I have dealt with deployment and scaling issues for a few years on a customer project written in Rails + Common Lisp, and as much as I *love* coding in Ruby and Lisp, this experience has also made me appreciate "Java the platform" :-)
Reply to This
Re:The real story (Score:4, Insightful)
Reply to This
Parent
Re:The real story (Score:5, Funny)
sooo... open source failed? that's what it sounds like you're saying. beware of pitchfork carrying moderators ;)
Reply to This
Parent
Re:The real story (Score:5, Insightful)
How did open source fail? Someone who wasn't the original author had access to the code and found the bugs. How quickly it's found is a function of how many qualified people are looking at the code. I didn't RTFA, but presumably Drew Yao, a member of the security team, was security auditing the code. This activity would have been much harder to impossible with closed source code.
I'd say the system worked as advertised here.
Reply to This
Parent
Re: (Score:3, Insightful)
This activity would have been much harder to impossible with closed source code.
I'd say the system worked as advertised here.
Re:The real story (Score:4, Insightful)
I didn't say anything about Microsoft. Obviously there are, but the source is much more difficult to obtain. If the source can't be obtained, auditors must use more difficult types of testing, or just hope that the vendor did their job correctly.
My only point was that Apple would have a much more difficult time auditing, say, Office for Mac, than they would with Ruby due to the requirement for source code agreements or using more arcane methods like blackbox testing or disassembly. The same applies to Photoshop, Flash, or any other 3rd party closed-source app.
The victory here is that Ruby was improved by a 3rd party who had ready access to the source. When the source is available, this will happen much more often than when it's not.
Reply to This
Parent
Re:The real story (Score:5, Insightful)
Reply to This
Parent
Funny how open source always wins... (Score:5, Insightful)
Case 1: the code has no bugs: "many eyes make for shallow bugs!" everyone chants.
Case 2: the code has bugs which get reported and fixed. "See, this would have taken much longer if the source was closed!" This claim is impossible to verify objectively but is stated as a fact, regardless of how trivial the bugs are.
Reply to This
Parent
Re:The real story (Score:5, Insightful)
A vulnerability in an open source project was found by a third party doing a security audit of the code. The possibility to validate the source code is exactly what open source proponents claim is the reason for open source being more secure. Everybody can have a go, a thousand pairs of eyes see more than one pair, and all that. Try auditing Visual Basic 6 for comparison.
Reply to This
Parent
Re:The real story (Score:4, Interesting)
Reply to This
Parent
Re:The real story (Score:5, Insightful)
No. The real story here are the security bugs, precisely as described. This isn't cheerleading - to users of Ruby it really doesn't matter how fast some other imagined patch might have come out from another company for a different product. If I'm running Ruby, I need to know that these bugs exist and that patches can be applied for them.
Drop the us vs them thinking - it doesn't help is pretty much just FUD.
Cheers,
Ian
Reply to This
Parent
Re:Confirmation (Score:4, Insightful)
Then what is? Sun Java and Microsoft .NET have both had long histories of security patches. Python is a lot better but nothing is perfect.
At least with a Linux Python/Ruby you get the security fix within hours as part of your regular operating system update. With Java you have to download the whole thing again from Sun's site. With .NET you have to wait for patch tuesday or apply a hotfix manually.
Reply to This
Parent
Re:Confirmation (Score:4, Interesting)
Reply to This
Parent
Re: (Score:3, Insightful)
Agreed. It also usually doesn't refer to a programming language or environment. At any rate, "enterprise" applications have historically been written in a bunch of languages that don't do array bounds checking. Granted, ruby is supposed to do it, but I mean, seriously - are kids these days so spoiled by JavaScript and VB that this kind of error is a surprise and the biggest bug ever?
Re:Confirmation (Score:4, Insightful)
1. If the interpreter is supposed to do it, except it then turns out it actually doesn't (or doesn't do it correctly), then yes.
2. If the problem occurs in something that is a part of the language itself, or at least part of its standard library/built-in types, or, however you want to define it, if it is in the set of stuff that everyone who has the language installed has installed, and the functionality is used in pretty much any program ever written in the language, then yes.
So, yes.
Reply to This
Parent
Re:Confirmation (Score:5, Funny)
No, "Enterprise ready" means they didn't have to deal with that shit on Star Trek.
Reply to This
Parent
Re:message to staff at Apple HQ (Score:5, Insightful)
Reply to This
Parent
Re:message to staff at Apple HQ (Score:5, Insightful)
Apple finds serious bugs in Ruby. They tell the Ruby developers. Ruby developers issue patches. That's not sensational.
MS finds a bug in Safari. They tell everyone not to use Safari. I see slight differences. :P
Reply to This
Parent
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
Keep in mind that ruby and PHP are essentially contemporaries - they've both been in real use for over a decade. By most measures, one would think of them as being "mature" technologies, and yet we still see bugs like this crop up in both languages. I think it just goes to show - while selecting a "mature" technology has its advantages, it will not make you immune to problems.
For what it's worth, this appears to be a flaw in the official ruby interpreter. That's a big deal, of course, but just so you k
Re:Goes to show ... (Score:4, Insightful)
And it never claimed to be. I don't know anyone who uses Ruby because it's more secure. Everyone I know who uses Ruby does so because of the beautiful syntax, pervasive OO, and other things that make it nicer to program in.
And again, it's not the security. I'm willing to risk having to patch my interpreter like this once in awhile, if it means I'm able to
Keep in mind, this vulnerability is so far only a DoS, and won't necessarily affect most installations. Most people run multiple interpreters serving a single site, each load-balanced to. Knock out one and it'll be restarted, while the other continues to serve content.
Which brings us to your next point...
mod_ruby -- you do realize pretty much no one in the Ruby world uses Apache, right? It's all mongrels and nginx... But if you must, there's Passenger. [modrails.com]
Reply to This
Parent
Re:Goes to show ... (Score:4, Insightful)
So, um, how's jPHP and Jython coming along? Would you deploy a real life application on Jython?
So, um, how's jPHP and Jython coming along? Would you deploy a real life application on Jython?
But I have two questions:
1. What does the relative merit of Jython versus Jruby have to do with the price of tea in China? Are you moving your apps from the buggy MRI to JRuby this week to avoid these security holes?
2. What evidence do you have that Jruby is more appropriate for "real life applications" than Jython? I know people who have deployed real life applications on Jython since before the first checkin of JRuby. For example, Websphere ships with Jython.
http://wiki.python.org/jython/JythonUsers [python.org]
Ruby has some real advantages over Python. But if you don't know them, don't just make stuff up.
Reply to This
Parent