{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "1.0.0-alpha.64"
              },
              {
                "fixed": "1.0.0-rc.1"
              }
            ],
            "source": [
              "AFFECTED_FIELD",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "7f24dbda198f4a9c6d73728dcb07710fb1b14c12"
            },
            {
              "fixed": "98d3619613722308498494d412797a52ea8ae64d"
            },
            {
              "fixed": "778f1dfa2155cbbc61ad54e6896de9e29d2c4d8d"
            }
          ],
          "repo": "https://github.com/rustfs/rustfs",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-5w8r-p896-6vq2"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-863"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73285.json"
  },
  "details": "RustFS is a distributed object storage system built in Rust. From 1.0.0-alpha.64 until 1.0.0-rc.1, RustFS external OPA authorization enabled by RUSTFS_POLICY_PLUGIN_URL in crates/iam/src/sys.rs sets PreparedIamAuth.needs_existing_object_tag incorrectly for PreparedIamMode::Opa, causing maybe_merge_object_tag_conditions to omit s3:ExistingObjectTag/* values and allowing authenticated users to bypass tag-based policy restrictions. This issue is fixed in version 1.0.0-rc.1.",
  "id": "CVE-2026-73285",
  "modified": "2026-09-11T03:31:00.472807844Z",
  "published": "2026-08-12T14:37:42.271Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/rustfs/rustfs/releases/tag/1.0.0-rc.1"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73285.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/rustfs/rustfs/blob/380ed40b471887014fe21d069b61df9eacca074b/.agents/skills/security-advisory-lessons/references/advisory-patterns.md?plain=1#L47"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/rustfs/rustfs/security/advisories/GHSA-5w8r-p896-6vq2"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73285"
    },
    {
      "type": "FIX",
      "url": "https://github.com/rustfs/rustfs/commit/98d3619613722308498494d412797a52ea8ae64d"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "RustFS: OPA policy plugin omits ExistingObjectTag conditions, allowing tag-based authorization policies to treat tagged objects as untagged"
}