Skip to content
This repository has been archived by the owner on Jan 24, 2023. It is now read-only.

Endpoint login exposes user credentials via query string #3160

Closed
2 of 11 tasks
colton-nicotera opened this issue Oct 30, 2018 · 6 comments · Fixed by #3771
Closed
2 of 11 tasks

Endpoint login exposes user credentials via query string #3160

colton-nicotera opened this issue Oct 30, 2018 · 6 comments · Fixed by #3771
Labels
bug community Community Raised Issue triage Requires review of inportance and prioritisation

Comments

@colton-nicotera
Copy link

colton-nicotera commented Oct 30, 2018

Frontend Deployment type

  • Cloud Foundry Application (cf push)
  • Kubernetes, using a helm chart
  • Docker, using docker compose
  • Docker, single container deploying all components
  • npm run start
  • Other (please specify below)

Backend (Jet Stream) Deployment type

  • Cloud Foundry Application (cf push)
  • Kubernetes, using a helm chart
  • Docker, using docker compose
  • Docker, single container deploying all components
  • Other (please specify below)

Detailed Description

Logging into an endpoint (Navigating to /endpoints and selecting "register") passes the login credentials in the request query string. This could disclose the login credentials to third parties.

Request URL:

/pp/v1/auth/login/cnsi?username=username&password=password&cnsi_guid=MYGUID&connect_type=creds&system_shared=false

Context

This is a security issue that could expose the user's credentials to third parties.

Possible Implementation

The login credentials used to login to Stratos correctly pass the credentials in the body of the request. Emulating this request would correctly secure the user's credentials.

Request URL:

/pp/v1/auth/login/uaa

Form data passed:

username: johndoe
password: johndoe
@richard-cox richard-cox added bug community Community Raised Issue labels Nov 5, 2018
@colton-nicotera
Copy link
Author

@richard-cox is this planned to be fixed in the near future?

@richard-cox
Copy link
Contributor

@nwmac I thought we changed this as part of a previous PR, but master looks unchanged. What's the latest update?

@colton-nicotera
Copy link
Author

Will this be resolved soon?

@richard-cox
Copy link
Contributor

I spoke to @nwmac a while back about this issue. I think the general feeling is as we use https the entire url is encrypted and we don't log the credentials in the backend.. so we're generally ok for the moment. We have no plans to change this in the near future.

@kreinecke kreinecke added the triage Requires review of inportance and prioritisation label Jun 24, 2019
@brittag
Copy link

brittag commented Jul 17, 2019

Hi @richard-cox and @nwmac! My team would encourage reviewing this issue again and planning a place for it in your backlog, as part of good "defense in depth" security practices.

It's important to use the best practice of not embedding credentials in query strings, even if the system is not designed to actively log and monitor those query strings. This is because something could go wrong in a team's infrastructure or in another part of the system architecture that enables monitoring by an attacker or getting logged unexpectedly (which then could allow those logs to be reviewed by an attacker).

Strong security practices can help enable use of Stratos in a broader range of environments, including regulated and audited environments. Happy to answer questions or provide more comments if helpful - thank you!

@richard-cox
Copy link
Contributor

Hi @brittag, thanks for commenting. We'll look into this in our next sprint (due to start next week)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug community Community Raised Issue triage Requires review of inportance and prioritisation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants