The linked vuln report gives the impression that regular parameter handling is vulnerable.
However, that bug/exploit is based on the rails vuln and was patched in authlogic exactly how the Rails report instructed people to work around it (casting the parameter to a string).
Reading the actual report linked in the OP you'll see that generic and boilerplate code (e.g. the extremely common pattern: "Post.find_by_id(params[:id])") is going to be vulnerable to this bug.
The key is: "if they have the rails secret_token"
The secret token is autogenerated when the application is initially bootstrapped. Here is more information about it from any config/initializers/secret_token.rb file:
# Your secret key for verifying the integrity of signed cookies.
# If you change this key, all old signed cookies will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
Change the cookie secret token at config/initializers/secret_token.rb
Create a config/initializers/secret_token.rb file:
That will rename your app in the following files: ... config/initializers/secret_token.rb
Change your Application’s Secret Token ...
Change the secret token at /config/initializers/secret_token.rb
Those are the first six items in order and the trend continues at least through the first page of results.
As it says in the Django settings:
"Make this unique, and don't share it with anybody."
Your web application's security depends on it!
Have you got another way of getting unescaped code into the application such that this issue might be exploited? If so, the core team will be very, very interested to hear from you.
However from the description of the vulnerability found at [1], it would appear as though the cookie value can be set to a Ruby string value that is then parsed by server to produce a Ruby Hash value (rather than the AuthLogic plugin's assumed string value).
Is the eval() of the cookie value done by Rails or is it done by AuthLogic? Is that a potential security vulnerability in itself?
[1]http://phenoelit.org/blog/archives/2012/12/21/let_me_github_...
edit: forgot the URL
edit2: nvm ... apparently it's using the Ruby Marshal API, not an eval()-type call.
From looking at it, it seems that ANY HTTP parameter (e.g. POST or GET - which are completely user-controlled) can be manipulated if you know how it's going to be used in the code, e.g. an obvious object ID.
EDIT: tenderlove sets it straight below