In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v4: Don't allow a VMOVP on a dying VPE
Kunkun Jiang reported that there is a small window of opportunity for userspace to force a change of affinity for a VPE while the VPE has already been unmapped, but the corresponding doorbell interrupt still visible in /proc/irq/.
Plug the race by checking the value of vmapp_count, which tracks whether the VPE is mapped ot not, and returning an error in this case.
This involves making vmapp_count common to both GICv4.1 and its v4.0 ancestor.
[
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1442ee0011983f0c5c4b92380e6853afb513841a",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c"
},
"id": "CVE-2024-50192-0620eeeb",
"digest": {
"line_hashes": [
"181679502124819466736857702044839643778",
"37077002033836368948430954371318473276",
"168904558154054494743582490854360325506",
"192118905390688011266791967972593065392",
"314346695260254592467240319470764967262",
"325001344692041935553250484244034435016",
"334434160366445229561862413660153952673",
"315368160521656802146559677014460629377",
"300338975892276633940680032608664075380",
"37997488425581844707500755375619944882",
"278931201224490235049689683271623846750",
"227077615257212030307141137229224010516",
"159528231304774666567947654442794175856",
"229494683169948371435246917696598329412",
"225231912514859193817616895643991744201",
"79340772145057529528207688597701986388",
"95098913664519587245707187717389597160",
"289381540625517644828017207021564108532",
"181008393275252492598787500242600301189",
"2655432027554459088438175029757285845",
"325363922903674662075998456356351711958",
"138164859585762078861703359560652743927"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7d7b7fc876f836f40bf48a87e07ea18756ba196",
"target": {
"file": "include/linux/irqchip/arm-gic-v4.h"
},
"id": "CVE-2024-50192-122521d3",
"digest": {
"line_hashes": [
"173721837621014607781509358660757494790",
"291297695906768039985545016278264583995",
"73326734810653446628872716925998239134",
"108424899013533964218627948226842108957",
"325220968494403298687627434589068978067",
"153786667192985948887941247508135613666"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1442ee0011983f0c5c4b92380e6853afb513841a",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_set_affinity"
},
"id": "CVE-2024-50192-154c2c19",
"digest": {
"function_hash": "178066152282110119433464976463019899822",
"length": 776.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1442ee0011983f0c5c4b92380e6853afb513841a",
"target": {
"file": "include/linux/irqchip/arm-gic-v4.h"
},
"id": "CVE-2024-50192-16e8aa23",
"digest": {
"line_hashes": [
"173721837621014607781509358660757494790",
"291297695906768039985545016278264583995",
"73326734810653446628872716925998239134",
"108424899013533964218627948226842108957",
"325220968494403298687627434589068978067",
"153786667192985948887941247508135613666"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01282ab5182f85e42234df2ff42f0ce790f465ff",
"target": {
"file": "include/linux/irqchip/arm-gic-v4.h"
},
"id": "CVE-2024-50192-20843c7c",
"digest": {
"line_hashes": [
"173721837621014607781509358660757494790",
"291297695906768039985545016278264583995",
"73326734810653446628872716925998239134",
"108424899013533964218627948226842108957",
"325220968494403298687627434589068978067",
"153786667192985948887941247508135613666"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01282ab5182f85e42234df2ff42f0ce790f465ff",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_init"
},
"id": "CVE-2024-50192-2c9cebf6",
"digest": {
"function_hash": "266806576337981511423165916764172888703",
"length": 490.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@755b9532c885b8761fb135fedcd705e21e61cccb",
"target": {
"file": "include/linux/irqchip/arm-gic-v4.h"
},
"id": "CVE-2024-50192-33d5fbcb",
"digest": {
"line_hashes": [
"173721837621014607781509358660757494790",
"291297695906768039985545016278264583995",
"73326734810653446628872716925998239134",
"108424899013533964218627948226842108957",
"325220968494403298687627434589068978067",
"153786667192985948887941247508135613666"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d960505a869e66184fff97fb334980a5b797c7c6",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_set_affinity"
},
"id": "CVE-2024-50192-41061e83",
"digest": {
"function_hash": "178066152282110119433464976463019899822",
"length": 776.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64b12b061c5488e2d69e67c4eaae5da64fd30bfe",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_init"
},
"id": "CVE-2024-50192-442026f0",
"digest": {
"function_hash": "266806576337981511423165916764172888703",
"length": 490.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1442ee0011983f0c5c4b92380e6853afb513841a",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_init"
},
"id": "CVE-2024-50192-4abd413f",
"digest": {
"function_hash": "266806576337981511423165916764172888703",
"length": 490.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@755b9532c885b8761fb135fedcd705e21e61cccb",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_set_affinity"
},
"id": "CVE-2024-50192-5b332be5",
"digest": {
"function_hash": "293759476331330863952348753959936740616",
"length": 591.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7d7b7fc876f836f40bf48a87e07ea18756ba196",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_set_affinity"
},
"id": "CVE-2024-50192-6386e135",
"digest": {
"function_hash": "293759476331330863952348753959936740616",
"length": 591.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01282ab5182f85e42234df2ff42f0ce790f465ff",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c"
},
"id": "CVE-2024-50192-66df9989",
"digest": {
"line_hashes": [
"181679502124819466736857702044839643778",
"37077002033836368948430954371318473276",
"168904558154054494743582490854360325506",
"192118905390688011266791967972593065392",
"314346695260254592467240319470764967262",
"325001344692041935553250484244034435016",
"334434160366445229561862413660153952673",
"315368160521656802146559677014460629377",
"300338975892276633940680032608664075380",
"37997488425581844707500755375619944882",
"278931201224490235049689683271623846750",
"227077615257212030307141137229224010516",
"159528231304774666567947654442794175856",
"32801028301255143683246170405997163628",
"49367416582105921305552381298462938473",
"78702455282305501236370090472750996074",
"95098913664519587245707187717389597160",
"289381540625517644828017207021564108532",
"181008393275252492598787500242600301189",
"2655432027554459088438175029757285845",
"325363922903674662075998456356351711958",
"138164859585762078861703359560652743927"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64b12b061c5488e2d69e67c4eaae5da64fd30bfe",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c"
},
"id": "CVE-2024-50192-7047a31a",
"digest": {
"line_hashes": [
"181679502124819466736857702044839643778",
"37077002033836368948430954371318473276",
"168904558154054494743582490854360325506",
"192118905390688011266791967972593065392",
"314346695260254592467240319470764967262",
"325001344692041935553250484244034435016",
"334434160366445229561862413660153952673",
"315368160521656802146559677014460629377",
"300338975892276633940680032608664075380",
"37997488425581844707500755375619944882",
"278931201224490235049689683271623846750",
"227077615257212030307141137229224010516",
"159528231304774666567947654442794175856",
"32801028301255143683246170405997163628",
"49367416582105921305552381298462938473",
"78702455282305501236370090472750996074",
"95098913664519587245707187717389597160",
"289381540625517644828017207021564108532",
"181008393275252492598787500242600301189",
"2655432027554459088438175029757285845",
"325363922903674662075998456356351711958",
"138164859585762078861703359560652743927"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01282ab5182f85e42234df2ff42f0ce790f465ff",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_set_affinity"
},
"id": "CVE-2024-50192-80eeb566",
"digest": {
"function_hash": "293759476331330863952348753959936740616",
"length": 591.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7d7b7fc876f836f40bf48a87e07ea18756ba196",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c"
},
"id": "CVE-2024-50192-8a29cdb3",
"digest": {
"line_hashes": [
"181679502124819466736857702044839643778",
"37077002033836368948430954371318473276",
"168904558154054494743582490854360325506",
"192118905390688011266791967972593065392",
"314346695260254592467240319470764967262",
"325001344692041935553250484244034435016",
"334434160366445229561862413660153952673",
"315368160521656802146559677014460629377",
"300338975892276633940680032608664075380",
"37997488425581844707500755375619944882",
"278931201224490235049689683271623846750",
"7184518633430679023386735679253106803",
"302051687430419678977751594535565908664",
"32801028301255143683246170405997163628",
"49367416582105921305552381298462938473",
"78702455282305501236370090472750996074",
"95098913664519587245707187717389597160",
"289381540625517644828017207021564108532",
"181008393275252492598787500242600301189",
"2655432027554459088438175029757285845",
"325363922903674662075998456356351711958",
"138164859585762078861703359560652743927"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d960505a869e66184fff97fb334980a5b797c7c6",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c"
},
"id": "CVE-2024-50192-8d2505d3",
"digest": {
"line_hashes": [
"181679502124819466736857702044839643778",
"37077002033836368948430954371318473276",
"168904558154054494743582490854360325506",
"192118905390688011266791967972593065392",
"314346695260254592467240319470764967262",
"325001344692041935553250484244034435016",
"334434160366445229561862413660153952673",
"315368160521656802146559677014460629377",
"300338975892276633940680032608664075380",
"37997488425581844707500755375619944882",
"278931201224490235049689683271623846750",
"227077615257212030307141137229224010516",
"159528231304774666567947654442794175856",
"229494683169948371435246917696598329412",
"225231912514859193817616895643991744201",
"79340772145057529528207688597701986388",
"95098913664519587245707187717389597160",
"289381540625517644828017207021564108532",
"181008393275252492598787500242600301189",
"2655432027554459088438175029757285845",
"325363922903674662075998456356351711958",
"138164859585762078861703359560652743927"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@755b9532c885b8761fb135fedcd705e21e61cccb",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_build_vmapp_cmd"
},
"id": "CVE-2024-50192-9b5b231e",
"digest": {
"function_hash": "251618578366036859811735146793026649374",
"length": 1178.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@755b9532c885b8761fb135fedcd705e21e61cccb",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_init"
},
"id": "CVE-2024-50192-9c3e155c",
"digest": {
"function_hash": "266806576337981511423165916764172888703",
"length": 490.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1442ee0011983f0c5c4b92380e6853afb513841a",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_build_vmapp_cmd"
},
"id": "CVE-2024-50192-a5a353ce",
"digest": {
"function_hash": "251618578366036859811735146793026649374",
"length": 1178.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7d7b7fc876f836f40bf48a87e07ea18756ba196",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_build_vmapp_cmd"
},
"id": "CVE-2024-50192-ab843105",
"digest": {
"function_hash": "108071528827090112336435886926646539361",
"length": 1176.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7d7b7fc876f836f40bf48a87e07ea18756ba196",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_init"
},
"id": "CVE-2024-50192-aeaa1543",
"digest": {
"function_hash": "266806576337981511423165916764172888703",
"length": 490.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01282ab5182f85e42234df2ff42f0ce790f465ff",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_build_vmapp_cmd"
},
"id": "CVE-2024-50192-bac3357a",
"digest": {
"function_hash": "251618578366036859811735146793026649374",
"length": 1178.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64b12b061c5488e2d69e67c4eaae5da64fd30bfe",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_set_affinity"
},
"id": "CVE-2024-50192-c340d6da",
"digest": {
"function_hash": "293759476331330863952348753959936740616",
"length": 591.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d960505a869e66184fff97fb334980a5b797c7c6",
"target": {
"file": "include/linux/irqchip/arm-gic-v4.h"
},
"id": "CVE-2024-50192-c37f0d1e",
"digest": {
"line_hashes": [
"173721837621014607781509358660757494790",
"291297695906768039985545016278264583995",
"73326734810653446628872716925998239134",
"108424899013533964218627948226842108957",
"325220968494403298687627434589068978067",
"153786667192985948887941247508135613666"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d960505a869e66184fff97fb334980a5b797c7c6",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_build_vmapp_cmd"
},
"id": "CVE-2024-50192-c4e34f61",
"digest": {
"function_hash": "251618578366036859811735146793026649374",
"length": 1178.0
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64b12b061c5488e2d69e67c4eaae5da64fd30bfe",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_build_vmapp_cmd"
},
"id": "CVE-2024-50192-e10cfd34",
"digest": {
"function_hash": "251618578366036859811735146793026649374",
"length": 1178.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64b12b061c5488e2d69e67c4eaae5da64fd30bfe",
"target": {
"file": "include/linux/irqchip/arm-gic-v4.h"
},
"id": "CVE-2024-50192-e1f51aa6",
"digest": {
"line_hashes": [
"173721837621014607781509358660757494790",
"291297695906768039985545016278264583995",
"73326734810653446628872716925998239134",
"108424899013533964218627948226842108957",
"325220968494403298687627434589068978067",
"153786667192985948887941247508135613666"
],
"threshold": 0.9
},
"signature_version": "v1"
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d960505a869e66184fff97fb334980a5b797c7c6",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c",
"function": "its_vpe_init"
},
"id": "CVE-2024-50192-ee774b26",
"digest": {
"function_hash": "266806576337981511423165916764172888703",
"length": 490.0
},
"signature_version": "v1"
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@755b9532c885b8761fb135fedcd705e21e61cccb",
"target": {
"file": "drivers/irqchip/irq-gic-v3-its.c"
},
"id": "CVE-2024-50192-fec5ef0a",
"digest": {
"line_hashes": [
"181679502124819466736857702044839643778",
"37077002033836368948430954371318473276",
"168904558154054494743582490854360325506",
"192118905390688011266791967972593065392",
"314346695260254592467240319470764967262",
"325001344692041935553250484244034435016",
"334434160366445229561862413660153952673",
"315368160521656802146559677014460629377",
"300338975892276633940680032608664075380",
"37997488425581844707500755375619944882",
"278931201224490235049689683271623846750",
"227077615257212030307141137229224010516",
"159528231304774666567947654442794175856",
"32801028301255143683246170405997163628",
"49367416582105921305552381298462938473",
"78702455282305501236370090472750996074",
"95098913664519587245707187717389597160",
"289381540625517644828017207021564108532",
"181008393275252492598787500242600301189",
"2655432027554459088438175029757285845",
"325363922903674662075998456356351711958",
"138164859585762078861703359560652743927"
],
"threshold": 0.9
},
"signature_version": "v1"
}
]