mirror of
https://github.com/github/codeql.git
synced 2025-12-23 04:06:37 +01:00
Ruby: stop rb/sensitive-get-query from considering ID type data as sensitive
This commit is contained in:
@@ -38,6 +38,7 @@ from
|
||||
where
|
||||
handler.getAnHttpMethod() = "get" and
|
||||
input.asExpr().getExpr().getEnclosingMethod() = handler and
|
||||
localFlowWithElementReference(input, sensitive)
|
||||
localFlowWithElementReference(input, sensitive) and
|
||||
not sensitive.getClassification() = SensitiveDataClassification::id()
|
||||
select input, "$@ for GET requests uses query parameter as sensitive data.", handler,
|
||||
"Route handler"
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
| app/controllers/users_controller.rb:4:16:4:21 | call to params | $@ for GET requests uses query parameter as sensitive data. | app/controllers/users_controller.rb:3:3:6:5 | login_get | Route handler |
|
||||
| app/controllers/users_controller.rb:5:23:5:28 | call to params | $@ for GET requests uses query parameter as sensitive data. | app/controllers/users_controller.rb:3:3:6:5 | login_get | Route handler |
|
||||
|
||||
@@ -2,12 +2,12 @@ class UsersController < ApplicationController
|
||||
|
||||
def login_get
|
||||
password = params[:password] # BAD: route handler uses GET query parameters to receive sensitive data
|
||||
authenticate_user(params[:username], password) # BAD: route handler uses GET query parameters to receive sensitive data
|
||||
authenticate_user(params[:username], password)
|
||||
end
|
||||
|
||||
def login_post
|
||||
password = params[:password] # GOOD: handler uses POST form parameters to receive sensitive data
|
||||
authenticate_user(params[:username], password) # GOOD: handler uses POST form parameters to receive sensitive data
|
||||
authenticate_user(params[:username], password)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
Reference in New Issue
Block a user