Description
class ObjectId has an private impl pointer. When used as an argument to an assignment, the impl pointer is incorrectly set by the default memberwise assignment method. This causes two ObjectIds to incorrectly share the same impl instance. This may be the case for other objects that use this impl pattern - the code should be audited.