Attempting to call grow on a spilled SmallVec with a value equal to the current capacity causes it to free the existing data. This performs a double free immediately and may lead to use-after-free on subsequent accesses to the SmallVec contents. An attacker that controls the value passed to grow may exploit this flaw to obtain memory contents or gain remote code execution.
{ "github_reviewed": true, "nvd_published_at": null, "cwe_ids": [ "CWE-415" ], "github_reviewed_at": "2021-08-19T21:22:23Z", "severity": "CRITICAL" }