-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
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.