Description
In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v3-its: Prevent double free on error
The error handling path in its_vpe_irq_domain_alloc() causes a double free when its_vpe_init() fails after successfully allocating at least one interrupt. This happens because its_vpe_irq_domain_free() frees the interrupts along with the area bitmap and the vprop_page and its_vpe_irq_domain_alloc() subsequently frees the area bitmap and the vprop_page again.
Fix this by unconditionally invoking its_vpe_irq_domain_free() which handles all cases correctly and by removing the bitmap/vprop_page freeing from its_vpe_irq_domain_alloc().
[ tglx: Massaged change log ]
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < f5417ff561b8ac9a7e53c747b8627a7ab58378ae; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < b72d2b1448b682844f995e660b77f2a1fabc1662; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < aa44d21574751a7d6bca892eb8e0e9ac68372e52; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < 5dbdbe1133911ca7d8466bb86885adec32ad9438; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < dd681710ab77c8beafe2e263064cb1bd0e2d6ca9; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < 03170e657f62c26834172742492a8cb8077ef792; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < 5b012f77abde89bf0be8a0547636184fea618137; >= 7d75bbb4bc1ad90386776459d37e4ddfe605671e, < c26591afd33adce296c022e3480dea4282b7ef91 |
| Linux | Linux | 4.14 |
References
- https://git.kernel.org/stable/c/03170e657f62c26834172742492a8cb8077ef792Patch
- https://git.kernel.org/stable/c/5b012f77abde89bf0be8a0547636184fea618137Patch
- https://git.kernel.org/stable/c/5dbdbe1133911ca7d8466bb86885adec32ad9438Patch
- https://git.kernel.org/stable/c/aa44d21574751a7d6bca892eb8e0e9ac68372e52Patch
- https://git.kernel.org/stable/c/b72d2b1448b682844f995e660b77f2a1fabc1662Patch
- https://git.kernel.org/stable/c/c26591afd33adce296c022e3480dea4282b7ef91Patch
- https://git.kernel.org/stable/c/dd681710ab77c8beafe2e263064cb1bd0e2d6ca9Patch
- https://git.kernel.org/stable/c/f5417ff561b8ac9a7e53c747b8627a7ab58378aePatch
- https://git.kernel.org/stable/c/03170e657f62c26834172742492a8cb8077ef792Patch
- https://git.kernel.org/stable/c/5b012f77abde89bf0be8a0547636184fea618137Patch
- https://git.kernel.org/stable/c/5dbdbe1133911ca7d8466bb86885adec32ad9438Patch
- https://git.kernel.org/stable/c/aa44d21574751a7d6bca892eb8e0e9ac68372e52Patch
- https://git.kernel.org/stable/c/b72d2b1448b682844f995e660b77f2a1fabc1662Patch
- https://git.kernel.org/stable/c/c26591afd33adce296c022e3480dea4282b7ef91Patch
- https://git.kernel.org/stable/c/dd681710ab77c8beafe2e263064cb1bd0e2d6ca9Patch
- https://git.kernel.org/stable/c/f5417ff561b8ac9a7e53c747b8627a7ab58378aePatch
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.htmlPatch
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.htmlPatch
Timeline
- Published
- May 17, 2024
- Last modified
- Aug 4, 2026
- NVD status
- Modified