Reject WiredTiger configString type overrides other than "type=file"

XMLWordPrintableJSON

    • Storage Engines - Server Integration
    • Fully Compatible
    • ALL
    • v9.0, v8.3, v8.2, v8.0, v7.0
    • SESIPuPpy 2026-07-28, SESI(ノಥ益ಥ)ノ ┻━┻ 2026-08-11
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      createCollection/createIndexes accept storageEngine.wiredTiger.configString, but the validator only blocked NUL bytes, the literal substring type=lsm, and encryption options. A quoted type="file" passed validation, overrode the server's bare type=file (WiredTiger last-wins), and was stored in durable metadata as a string token instead of an identifier token. Any later collStats/validate read that metadata back and tripped an invariant in WiredTigerUtil::fetchTypeAndSourceURI, aborting mongod. The poisoned metadata is durable and replicated, so this is a persistent DoS.

      This change rejects any user-supplied type in configString except a redundant, bare type=file, closing the validation gap. It also covers the quoted type="lsm" variant that bypassed the existing substring check.

            Assignee:
            Gregory Wlodarek
            Reporter:
            Gregory Wlodarek
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: