[SERVER-67915] Prevent rpc::upconvertRequest() from moving duplicate field in $queryOptions to top-level Created: 08/Jul/22 Updated: 18/Aug/22 Resolved: 18/Aug/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Reo Kimura (Inactive) | Assignee: | Reo Kimura (Inactive) |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Sprint: | Service Arch 2022-08-22 |
| Participants: |
| Description |
|
The fuzzer can generate commands with the same field at the top-level and in the $queryOptions sub-object. Rpc::upconvertRequest() moves fields from the sub-object to the top-level, which later triggers an fassert due to there being duplicate fields. upconvertRequest() should throw ErrorCodes::InvalidOptions instead to prevent duplicate fields at the top-level. |