3 ms·
Summary of the vuln, from the original post: Heroku was relying on unguessable filenames to keep processes associated from one app from reading files containin
by rst 16y ago
Summary of the vuln, from the original post: Heroku was relying on unguessable filenames to keep processes associated from one app from reading files containing the config files and source code of another app. However, the random portion of those filenames was showing up in the output of 'ps' as run from (I think) 'heroku console'.
The upshot was that the filenames were easily guessable, and their contents (config files and source code of the app) easily accessible.
So, if you've had a heroku app running between December 28 and January 17, your config files are possibly compromised.
(The scary part, to me, is what a malicious party could have done with access to somebody else's database.yml, but I haven't seen any writeup specifically address that point.)
- tptacek 16y agoThe filenames weren't so much easily guessable as a change Heroku made last month accidentally exposed files. Relying on unpredictable strings isn't a fundamentally bad architecture; it's not an exaggeration to say that the whole web depends on that design. My recommendation to Heroku might start with auditing every Heroku tool to make sure it calls "setproctitle".
- rst 16y agoI meant to say that the filenames were easily guessable after the random strings were exposed by 'ps'. Relying on unpredictable strings works fine, so long as you keep them away from prying eyes. But that requires attention to detail, and can get harder over time (witness, say, Firesheep, which made it a whole lot easier to hide "secret" login cookies than it used to be).
- tptacek 16y agoCan I just say that "secrets" sent over bare HTTP aren't secret, and that even before Firesheep, nobody really thought they were hard to find? I love what Firesheep did to popularize that problem, but it was an old, very widely-exploited problem.
- rst 16y agoSure, but Firesheep made it possible to exploit it without even "script-kiddie" level skills. No easier in principle, perhaps, but easier in practice.
- gfodor 16y agoThe point is the type of security scenario being talked about here is wildly different than the one made simpler to exploit by Firesheep. This was not security through obscurity. If your servers are configured correctly, unguessible filenames are just fine from a security perspective, at least as secure as passwords.