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
|
where
|
||||||
handler.getAnHttpMethod() = "get" and
|
handler.getAnHttpMethod() = "get" and
|
||||||
input.asExpr().getExpr().getEnclosingMethod() = handler 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,
|
select input, "$@ for GET requests uses query parameter as sensitive data.", handler,
|
||||||
"Route 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: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
|
def login_get
|
||||||
password = params[:password] # BAD: route handler uses GET query parameters to receive sensitive data
|
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
|
end
|
||||||
|
|
||||||
def login_post
|
def login_post
|
||||||
password = params[:password] # GOOD: handler uses POST form parameters to receive sensitive data
|
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
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
Reference in New Issue
Block a user