Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI PRP: Request CVE-2023-6014 MLflow Auth Bypasss Vulnerability #427

Closed
maoning opened this issue Mar 18, 2024 · 11 comments
Closed

AI PRP: Request CVE-2023-6014 MLflow Auth Bypasss Vulnerability #427

maoning opened this issue Mar 18, 2024 · 11 comments
Assignees
Labels
ai-bounty-prp Identify an AI bounty plugin PRP:Accepted

Comments

@maoning
Copy link
Collaborator

maoning commented Mar 18, 2024

CVE-2023-6014: https://huntr.com/bounties/3e64df69-ddc2-463e-9809-d07c24dc1de4/

Please read the rules of engagement first at #409.

@maoning maoning added help wanted Extra attention is needed ai-bounty-prp Identify an AI bounty plugin labels Mar 18, 2024
@maoning maoning changed the title AI PRP: Request CVE-2023-6014 mlflow Auth Bypasss Vulnerability AI PRP: Request CVE-2023-6014 MLflow Auth Bypasss Vulnerability Mar 18, 2024
@frkngksl
Copy link
Contributor

Hi @maoning ,

I have submitted #407 two weeks ago, and currently, I'm not developing anything. I was thinking about taking this one, but should I wait for my current PR to be merged?

@tooryx
Copy link
Member

tooryx commented Mar 19, 2024

Hi @frkngksl,

As mentioned in the rules of engagement (#409), you are free to pick one ML plugin that will take priority over your other contributions. So you are free to pick one without waiting on your other contributions to be merged.

I will assign this plugin to you.

~tooryx

@maoning
Copy link
Collaborator Author

maoning commented Mar 20, 2024

Hi @frkngksl ,

Thank you for picking up this request! Please make sure the following items are completed before the plugin implementation:

  • Conduct vulnerability research with a brief description of how the plugin would work
  • Submit the vulnerable configuration of the target application to google/security-testbeds.

@frkngksl
Copy link
Contributor

Hi @maoning , @tooryx ,

I sent the PR regarding to the vulnerable configuration to Security Testbeds repository. You can see it here

Vulnerability Research

MLFlow instances below the version 2.8.0 which use MLFlow UI or MLFlow Server have an authentication bypass vulnerability. Normally MLFlow requires authentication for user creation operations who are served under /mlflow/users/create API. However, due to coding mistake, prepending /api/2.0/ to those routes will allow access to an unauthenticated remote attacker in the vulnerable versions, namely /api/2.0/mlflow/users/create. There, unauthenticated attackers can create users by using this endpoint and reach the functionalities of MLflow.

Plugin Design

I tested this vulnerability with the original PoC, which was given by you, on the both vulnerable and fixed environments. In this PoC, it directly sends the new user and password information to the mentioned endpoint above. You can see the responses that were given for the user creation request from this endpoint from both vulnerable and fixed environment. (You can see the incoming response

image

image

Clearly, I can identify the vulnerability from the response by searching the string Successfully signed up user: ... . Therefore, I am planning to develop a plugin who generates user and password randomly and sends this information to the endpoint. After that, the plugin will check the both status code and response to determine the vulnerable environment.

@maoning
Copy link
Collaborator Author

maoning commented Mar 22, 2024

Hi @frkngksl ,

Thank you for providing the detailed plugin design and submitting to Security Testbeds repo. Everything looks good. Please submit our participation form and you can start working on the development.

@frkngksl
Copy link
Contributor

Hi @maoning , @tooryx ,

I've sent the PR as #438. Thanks in advance.

@frkngksl
Copy link
Contributor

Also, I can help you for another AI PRP, but should I wait for this one to be completed?

@vsutedjo
Copy link
Collaborator

It would be great if you could wait for this one to be resolved! Shouldn't take too long now.

@vsutedjo
Copy link
Collaborator

Hi @frkngksl ,

Your PR has been merged. This usually means a reward will be granted. Google will start the internal QC process and the reward amount will be determined based on the quality of the detector report. Please be patient and allow up to a week for the QC process to finish. You'll be notified once the decision is made.

Thanks!

@frkngksl
Copy link
Contributor

Thank you all for your help and kindness @vsutedjo, @maoning, @tooryx

@maoning
Copy link
Collaborator Author

maoning commented Apr 2, 2024

@frkngksl Thanks for the contribution, your reward has been granted.

@maoning maoning closed this as completed Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ai-bounty-prp Identify an AI bounty plugin PRP:Accepted
Projects
None yet
4 participants