Source |
CVE Liste |
Identifiant |
8320224 |
Date de publication |
2023-03-21 13:15:11 (vue: 2023-03-21 15:06:44) |
Titre |
CVE-2022-42332 |
Texte |
X86 Shadow Plus Log-Dirty Mode Use-après-Free dans les environnements où la traduction d'adresse assistée de l'hôte est nécessaire, mais le paginage assisté en matériel (HAP) n'est pas disponible, Xen exécutera les invités en mode soi-disant.Le mode Shadow maintient un pool de mémoire utilisé pour les deux tables de page d'ombre ainsi que pour les structures de données auxiliaires.Pour migrer ou les invités instantanés, Xen les exécute en outre en mode soi-disant.Les structures de données nécessaires au suivi du log-diiry font partie des données auxiliaires susmentionnées.Afin de maintenir les efforts de gestion des erreurs dans des limites raisonnables, pour les opérations qui peuvent nécessiter des allocations de mémoire, la logique du mode Shadow garantit à l'avance qu'une mémoire suffisante est disponible pour les pires exigences.Malheureusement, alors que la mémoire de la table de page est correctement prise en compte sur le chemin du code nécessitant l'établissement potentiel de nouvelles ombres, les exigences par l'infrastructure log-ory n'ont pas été prises en considération.En conséquence, les tableaux de page d'ombre qui viennent d'être établis pourraient être libérés immédiatement, tandis que d'autres code y accèdent toujours en supposant qu'ils resteraient alloués.
x86 shadow plus log-dirty mode use-after-free In environments where host assisted address translation is necessary but Hardware Assisted Paging (HAP) is unavailable, Xen will run guests in so called shadow mode. Shadow mode maintains a pool of memory used for both shadow page tables as well as auxiliary data structures. To migrate or snapshot guests, Xen additionally runs them in so called log-dirty mode. The data structures needed by the log-dirty tracking are part of aformentioned auxiliary data. In order to keep error handling efforts within reasonable bounds, for operations which may require memory allocations shadow mode logic ensures up front that enough memory is available for the worst case requirements. Unfortunately, while page table memory is properly accounted for on the code path requiring the potential establishing of new shadows, demands by the log-dirty infrastructure were not taken into consideration. As a result, just established shadow page tables could be freed again immediately, while other code is still accessing them on the assumption that they would remain allocated. |
Notes |
|
Envoyé |
Oui |
Condensat |
2022 42332 accessing accounted additionally address aformentioned after again allocated allocations are assisted assumption auxiliary available both bounds but called case code consideration could cve data demands dirty efforts enough ensures environments error established establishing free freed front guests handling hap hardware host immediately infrastructure just keep log logic maintains may memory migrate mode necessary needed new not operations order other page paging part path plus pool potential properly reasonable remain require requirements requiring result run runs shadow shadows snapshot structures table tables taken them tracking translation unavailable unfortunately use used well where which will within worst would x86 xen |
Tags |
|
Stories |
|
Move |
|