Fix CVE-851. See description of the bug in SECBUG-1301 or in this doc.
Claude was able to write a reproducer for this issue: https://github.com/10gen/mongo/compare/pierre.turin/CVE-852_repro
TLDR of the issue: An attacker can send a commitTransaction or abortTransaction directly to a shard's primary for a prepared transaction it previously started, bypassing the txn coordinator. In doing so, they can set the shard's cluster timestamp far in the future, and cause torn reads. They can also abort their own transaction on one of the shards and cause an incomplete commit. The attacker can only tamper with their own transactions, not the transactions of other users, but can result with torn reads or incomplete transaction results visible to other users.
To fix this bug we should make sure any commitTransaction/abortTransaction are properly authorized (they come from the transaction coordinator).