Account for o-vs-UUID consistency check

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Critical - P2
    • 8.2.13, 8.0.29, 7.0.40, 8.3.8, 9.0.0-rc2
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • ALL
    • v9.0, v8.3, v8.2, v8.0, v7.0
    • Repl 2026-07-06, Repl 2026-07-20, Repl 2026-08-03
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Tracks the server fix for the following vulnerability:

      In applyOps, a command op (op:"c") has its authorization and execution target diverge:

      • Auth (OplogApplicationChecks::checkOperationAuthorization) remaps nss to the ui UUID's collection but keeps only its database, then authorizes the inner command parsed from the o body — i.e. it checks rights on <UUID-db>.<o-coll>.
      • Execution (drop/collMod/dropIndexes applyFuncs) resolves the target purely by UUID via extractNsFromUUIDorNs, with no o-vs-UUID consistency check (the CRUD branch has one — error 3318200; the command branch doesn't).

      A 'c' op with a ui only escalates to useUUID (not superuser), so a caller with cluster {applyOps, useUUID} + drop rights on their own collection can drop/dropIndexes/collMod a victim collection (UUID read via listCollections) they have no rights on.

            Assignee:
            Amirsaman Memaripour
            Reporter:
            Amirsaman Memaripour
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: