Skip to content

testbeds:CVE-2026-0545 - #235

Open
dyeddala wants to merge 1 commit into
google:mainfrom
dyeddala:feature/CVE-2026-0545
Open

testbeds:CVE-2026-0545#235
dyeddala wants to merge 1 commit into
google:mainfrom
dyeddala:feature/CVE-2026-0545

Conversation

@dyeddala

Copy link
Copy Markdown

I have created a testbed for CVE-2026-0545
Please review and approve.

Comment on lines +23 to +107
### Configuration Files

#### `basic_auth.ini`
```ini
[mlflow]
default_permission = NO_PERMISSIONS
database_uri = sqlite:///basic_auth.db
admin_username = admin
admin_password = password1234
authorization_function = mlflow.server.auth:authenticate_request_basic_auth
```

#### `demo_job.py`
```python
from mlflow.server.jobs import job
import subprocess

@job(name="run_task", max_workers=1)
def run_task(command="id"):
return subprocess.check_output(command, shell=True).decode()
```

#### `start.sh`
```bash
#!/bin/bash

# Configuration for MLflow Basic Auth
export MLFLOW_AUTH_CONFIG_PATH=/app/basic_auth.ini
export MLFLOW_FLASK_SERVER_SECRET_KEY=test-secret-key

# Enable vulnerable job execution settings
export MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true
export _MLFLOW_SUPPORTED_JOB_FUNCTION_LIST=demo_job.run_task
export _MLFLOW_ALLOWED_JOB_NAME_LIST=run_task
export PYTHONPATH=/app

mkdir -p /app/artifacts

exec mlflow server \
--app-name=basic-auth \
--host 0.0.0.0 \
--port 5590 \
--backend-store-uri sqlite:///backend.db \
--default-artifact-root /app/artifacts
```

#### `Dockerfile`
```dockerfile
FROM python:3.10-slim

WORKDIR /app

# Install vulnerable MLflow version
RUN pip install "mlflow[auth]==3.9.0" uvicorn

COPY basic_auth.ini /app/
COPY demo_job.py /app/
COPY start.sh /app/

RUN chmod +x /app/start.sh

EXPOSE 5590

CMD ["/app/start.sh"]
```

#### `docker-compose.yml`
```yaml
version: '3.8'

services:
mlflow-server:
build:
context: .
dockerfile: Dockerfile
container_name: mlflow_app
ports:
- "5590:5590"
volumes:
- mlflow_data:/app/artifacts
restart: unless-stopped

volumes:
mlflow_data:
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can instead say checkout the files and run the docker command to deploy vulnerable image. Also document how to deploy a non vulnerable version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants