[SERVER-36859] DurableViewCatalogImpl::iterate does not validate database name before calling NamespaceString constructor Created: 24/Aug/18 Updated: 29/Oct/23 Resolved: 07/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.3 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Maria van Keulen | Assignee: | Justin Seyster |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | neweng, read-only-views | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Participants: | |||||
| Linked BF Score: | 56 | ||||
| Description |
|
The DurableViewCatalogImpl::iterate function checks whether a view's collection name is valid before attempting to call the NamespaceString constructor to prevent the constructor from uasserting. However, if the view's database name contains null characters, collectionNameIsValid will still be true because the database part of the name is not checked. |
| Comments |
| Comment by Githook User [ 07/Sep/18 ] |
|
Author: {'name': 'Justin Seyster', 'email': 'justin.seyster@mongodb.com', 'username': 'jseyster'}Message: An invalid view in the system.views collection causes any other writes |
| Comment by Githook User [ 07/Sep/18 ] |
|
Author: {'name': 'Justin Seyster', 'email': 'justin.seyster@mongodb.com', 'username': 'jseyster'}Message: If the DatabaseImpl constructor (which calls |
| Comment by Ian Whalen (Inactive) [ 30/Aug/18 ] |
|
assigning to justin to fix on 8/31 bf friday. |