Major Security Hole Found In Rails 177
mudimba writes "A major security hole has been found in Ruby on Rails. Upgrading to version 1.1.5 is extremely urgent, and all previous versions except those "on a very recent edge" are affected. Details on the exact nature of the flaw will be coming soon, but the rails team has decided to wait a short time before disclosure so that people can have a chance to upgrade their servers before would-be-assailants are armed." Update: 08/10 13:56 GMT by J : Now they're saying only the last six months of releases are affected: 1.1.0 through 1.1.4.
Major Security Hole Found In Rails (Score:5, Funny)
Re: Major Security Hole Found In Rails (Score:3, Funny)
Re: Major Security Hole Found In Rails (Score:2)
Re: Major Security Hole Found In Rails (Score:1, Interesting)
Re: Major Security Hole Found In Rails (Score:5, Insightful)
Re: Major Security Hole Found In Rails (Score:1)
All spam say: Upgrade immidietly, click here etc. without really saying why.
Re: Major Security Hole Found In Rails (Score:1)
Re: Major Security Hole Found In Rails (Score:1, Insightful)
Kids are so lazy those days... (Score:5, Informative)
1. a new test at rails/vendor/rails/activerecord/test/base_test.rb for SQL injections on ActiveRecord::Base.find
2. in the changelog for actionpack, we have:
* Added ActionController.filter_parameter_logging that makes it easy to remove passwords, credit card numbers, and other sensitive information from being logged when a request is handled. #1897 [jeremye@bsa.ca.gov]
So, I'd say the problem is on some of those.
Re: Major Security Hole Found In Rails (Score:3, Funny)
Diff? (Score:5, Insightful)
Re:Diff? (Score:2, Informative)
http://rubyforge.org/frs/?group_id=307 [rubyforge.org]
Re:Diff? (Score:2)
http://rubyforge.org/frs/?group_id=307 [rubyforge.org]
So "Security through Obscurity" wins after all?
Great... Just great....
You better be quick though, to beat my nightly apt-get.
Idea coming in: Distros should get the changes FIRST, then the developers announce it 1 day afterwards.. That would be perfect
Re:Diff? (Score:3, Interesting)
Re:Diff? (Score:2)
P.S.: All security is security either through obscurity or through immutability. And immutabilities limits what you can do. But if you rely on obscurity it better REALLY be obscure, or you had better only rely on it for a short period of time.
Re:Diff? (Score:1, Informative)
Seems to be a SQL injection sploit (Score:4, Insightful)
Re:Seems to be a SQL injection sploit (Score:3, Interesting)
Re:Seems to be a SQL injection sploit (Score:2)
Re:Diff? (Score:1)
Re:Diff? (Score:2)
diff?
Wow! What a cool tool! Now I know where to get started!
How few? (Score:5, Interesting)
Re:How few? (Score:5, Funny)
Re:How few? (Score:1)
Funny / True (Score:5, Insightful)
I'm surprised the 37 signals guys haven't done a freebie consulting job to get their shit straight.
(or maybe they have and PA is a simply realistic example of RoR under load...)
Re:Funny / True (Score:3, Insightful)
Re:Funny / True (Score:2)
Agreed. Whoever wrote that didn't get site nav working properly. Site nav. For a web comic. Hard to blame the ability to *GASP* move back and forward in a linear dataset on Rails.
Re:Funny / True (Score:2)
Re:Funny / True (Score:2)
Mind you, DeviantArt (in my opinion) completely fucked it's Version 5 relaunch by - in their own words - "adding many many many new features", and being determined to release on the site's anniversary, come hell or high water (or in this case, half baked features) - the bug list is LONG, and include
Re:Funny / True (Score:3, Insightful)
As someone currently using Basecamp, you're not far off.
Don't get me wrong -- it's good for what it is, and the price is right. That said, I'd give good odds that in two years, something similar and better will occupy Basecamp's market and mindshare. Sometimes, positive buzz is good for a product; other times, it primarily serves to draw the attention of those able to
Re:How few? (Score:5, Funny)
http://www.rubyonrails.org/index.php [rubyonrails.org]
I still get a kick out of that.
Re:How few? (Score:1)
Sounds perfectly pragmatic to me.
Re:How few? (Score:2)
Re:How few? (Score:1)
index.php this, index.php that... well, you know, it doesn't have to mean darn, we have this thing called "mod_rewrite" these days... =) And RoR website does use Rails apps, at least Typo and Instiki (I think).
But seriously, I wish there was a real Rails-based CMS there's Typo, which is more of a blogware than a general-purpose CMS, and I don't have any idea if we have anything quite comparable to, say, Drupal...
Re:How few? (Score:2)
If you really want a general-purpose CMS then write one. I mean if all the hype of Rails is true, anyone should be able to whip one up in a few hours.
Re:How few? (Score:3, Insightful)
Re:How few? (Score:3, Informative)
Re:How few? (Score:2)
Re:How few? (Score:2)
meanwhile... (Score:5, Insightful)
Re:meanwhile... (Score:5, Interesting)
Re:meanwhile... (Score:1, Offtopic)
Re:meanwhile... (Score:2)
too late (Score:2, Interesting)
Re:too late (Score:1)
Re:too late (Score:1)
Re:too late (Score:2)
RoR lacks maturity (Score:5, Insightful)
This is an example of why many major industries stay away from the "bleeding-edge" of tech products.
Only when something has been in the market long enough for people to find the holes, either by internal testing or by discovery of in-the-wild exploits can it be considered for the "higher" end of the market. It's unfortunate that it has happened to Rails, which is a great framework but it's another reason to staty with the more established web frameworks such as JSP/Struts.
Re:RoR lacks maturity (Score:5, Insightful)
Mod parent insightful (Score:5, Insightful)
Eivind.
Re:Mod parent insightful (Score:2)
Re:Mod parent insightful (Score:2, Informative)
1 a : the agreement of things with one another b : a particular similarity c : a relation between sets in which each member of one set is associated with one or more members of the other
Re:Mod parent insightful (Score:2)
Eivind.
Re:Mod parent insightful (Score:2)
Eivind.
Re:RoR lacks maturity (Score:2)
I agree that every framework or application has had a critical security update or two at some time. The point of my original post was that the established ones have had theirs at some time in the past. A good example would be the Tomcat ones you mentioned, version 3.1 was in 2001.
I pretty much knew that I was going to get flamed for the comment (your comment a fairly honourable exception) but speaking as a senior developer in a bank, I wouldn't touch RoR with a barge pole at the moment. Not because it isn'
Re:RoR lacks maturity (Score:2)
Re:RoR lacks maturity (Score:5, Insightful)
However I fail to see the relationship between Security issues and Maturity. Internet Explorer is mature and you still get your weekly critical security flaw.
Re:RoR lacks maturity (Score:5, Insightful)
Re:RoR lacks maturity (Score:2)
Re:RoR lacks maturity (Score:2)
Re:RoR lacks maturity (Score:3, Informative)
RoR is shipping with OSX Leopard Server... (Score:2)
Just a thought.
Re:RoR lacks maturity (Score:5, Funny)
Re:RoR lacks maturity (Score:2)
Maybe, but it's by no means a good reason. I could just set aside a miniscule portion the hundreds of hours I saved not writing Java and simply update Rails...
Re:RoR lacks maturity (Score:2)
int main(int argc, char *argv[]) {
printf("Not True\n");
return 0;
}
Re:RoR lacks maturity (Score:2)
Re:RoR lacks maturity (Score:2)
Re:RoR lacks maturity (Score:2)
Yes and No.
It's less "me too" and more "tried and tested", hence the use of programming languages such as Cobol and RPG when people may have expected them to be replaced. Not having experts isn't an issue either, if they need them, they just hire them, there's normally enough money at stake to make this a non-issue.
Long-term views is a definite yes. You have to ask questions like: "will this product still be supported in the next 5-10 years" ,"will it be actively developed and patched", "will this produc
get a grip peeps (Score:4, Insightful)
yeah RIGHT, like *every* fuckin' bit of software isn't full o' holes
I reckon the rails guys are handling this pretty well, makes sense not to just release the details straight off the bat, give people a couple of days to plug the holes then they can discuss the flaw
fuckin' hell it's not like MS hasn't had to do countless 'immediate' patches
people are using this whole thing as an excuse to unfairly judge rails - hell if you don't like it then at least argue against it based on genuine issues with it - which I'm sure there must be, since there are pros and cons for any software
Re:get a grip peeps (Score:1, Insightful)
yeah RIGHT, like *every* fuckin' bit of software isn't full o' holes
The difference is that other vendors supply patches for versions in common use instead of simply telling you to upgrade to a newer major version and refusing to tell you what the problem is so you can fix it yourself in the older version. And other vendors usually have at least some clue about which versions are affected instead of saying one thing, then changing their story, and then admitting that they don't have a fucking clue about
Re:get a grip peeps (Score:1)
Yeah, but not every fuckin bit of software is directly exposed to the internet.
Re:get a grip peeps (Score:4, Insightful)
Shrieking hyperbole aside - no they're not, the best ones (and the ones you should be using unless you've bought all the marketing BS) aren't. Assuming for one minute that you aren't a hobbyist or a schoolchild but have a coding job which depends on your reputation (difficult as you've taken the brave stance of beiing an AC) you would know that this titbit of news has left a lot of people high and dry. They have apps on production servers not knowing whether this would compromise just their RoR app or the entire server.
As to handling it well, no I don't think so. A simple diff will show what the issue is and I'm betting that plenty of people have already done that (especially judging by some of the recent posts), so not telling people what it is just adds to the uncertainty.
You're right about MS. That is why people don't use MS as an internet platform if they can help it. Look it *nix versus MS Server and Apache versus IIS. MS products are easy to use but I wouldn't be to happy for them to be used for my apps as they aren't secure or stable enough, common requirements for enterprise products.
There are plenty of pros and cons for Rails and personally I like it more than I dislike it, but the reality is it isn't mature and it isn't enterprise ready.
Re:get a grip peeps (Score:2)
You say that, but have you looked at the stats? IIS 6.0 is has had -far- fewer vulnerabilities in its lifetime than Apache 2.0.
Apache 2.0: http://secunia.com/product/73/ [secunia.com]
Re:get a grip peeps (Score:2)
But yeah, both Apache and IIS are bad in a security sense. No hole is acceptable.
Question (Score:2)
Re:Question (Score:1)
an exploitable buffer overflow? in ruby code? Isn't ruby supposed to be a safe language.
Re:Question (Score:2)
Ruby is an interpreted, memory-managed language. Any buffer overflow would have to be in the Ruby language interpreter, not in software that's written in Ruby.
Related to the Wiki hack (Score:2, Informative)
I wonder if this is related to their hacked wiki page?
Ruby on Rails Wiki [rubyonrails.org]
Anyone have information on this?
Security temporarily unavailable (Score:5, Funny)
http://wiki.rubyonrails.org/rails/pages/Security [rubyonrails.org]
Service Temporarily Unavailable
Seems an appropriate response!
Patch (Score:4, Funny)
Patch available here [djangoproject.com].
Rails (Score:5, Funny)
Oops.
Details of the exploit can be found here. (Score:5, Informative)
Patch details (Score:5, Informative)
base = File.expand_path(base)
extended_root = File.expand_path(RAILS_ROOT)
- base[0, extended_root.length] == extended_root || base =~ %r{rails-[\d.]+/builtin}
+ base.match(/\A#{Regexp.escape(extended_root)}\/*#
end
Not seen the context (so this is guesswork), but looks suspciously to me like you could supply a path like;
RAILS_ROOT/../../../../etc/passwd
Or something substantially similar to it...
Re:Patch details (Score:3, Interesting)
Is that what the Ruby on Rails code is like? (Score:3, Insightful)
Put simply, that is some truly awful code. I'm not sure if it could get any more unclear. When it comes to writing secure, solid software products, you need absolute clarity. The more obscure your code is, the easier it is to miss corner cases or invalid inputs. It's missing those cases that often leads to severe security exploits.
Re:Is that what the Ruby on Rails code is like? (Score:2)
Re:Patch details (Score:2)
Re:Patch details (Score:4, Informative)
sys.path in Python, which is initialized from the environment variable PYTHONPATH.
But... the default setup for Rails (or at least, last time I played with it) is to map /controller/action/-style URLs for you, so if you managed to upload a Ruby file which just happens to contain your malicious subclass of ActionController, well, you'd pretty much own the site.
This is why I don't like automatic URL mapping; only the URLs I've explicitly laid out should ever respond, and only the code I've explicitly pointed them to should ever be executed. I know Rails has other ways of mapping your URLs, but I don't know off the top of my head if you can disable the default controller-name/action-name mapping; even scarier is that a number of other frameworks have emulated that.
(Disclaimer: I work for the company which developed Django [djangoproject.com], and am an active user of and contributor to it)
Re:Patch details (Score:3, Informative)
The splotlight can be merciless (Score:2, Interesting)
for the especially clueless... (Score:2)
Re:Is it related to previous fixes...? (Score:5, Informative)
"RTFA suddenly seemed like a good idea."
Mod parent informative (Score:3, Insightful)
Re:odd... (Score:4, Insightful)
Re:odd... (Score:2)
Alex
Re:odd... (Score:5, Insightful)
Um... by saying, like they did, "patch fast"? You seem to have completely missed the difference between telling people there's a hole (allows people to fix it but makes people have to find the hole to exploit it) and detailing what the hole is and why it's a problem (a free lunch for the malicious). The users are aware that a patch needs to be made; the would-be-attackers aren't aware of the compromising details.
The kink, as noted elsewhere in this thread, is that it's a flag that tells those would-be-attackers that there IS a large hole at the moment, but the tradeoff - users can in general update faster than it takes to find the hole and write an exploit for it - is ok here.
Re:Where's the outrage?? (Score:1)
Rails has a security flaw and it's not being derailed.
Well, it is being derailed, right ?
Re:I'm really trying to like Rails, but... (Score:1, Funny)
Re:I'm really trying to like Rails, but... (Score:2)
This is the way most object persistence has been done for years. Yet Rails steps backwards about a decade and gets all the interest!
Re:Major Hole Found In CmdrTaco (Score:2)