In the Linux kernel, the following vulnerability has been resolved:
drm/nouveau: fix a use-after-free in nouveaugemprimeimportsg_table()
nouveauboinit() is backed by ttmboinit() and ferries its return code back to the caller. On failures, ttm will call nouveaubodelttm() and free the memory.Thus, when nouveauboinit() returns an error, the gem object has already been released. Then the call to nouveaubo_ref() will use the freed "nvbo->bo" and lead to a use-after-free bug.
We should delete the call to nouveauboref() to avoid the use-after-free.
{ "vanir_signatures": [ { "digest": { "line_hashes": [ "204104586971765841713124276409686529389", "63428757113077675483644758139615040209", "205727355067066709794893485524821524341", "66200732357531759078328877775084504084" ], "threshold": 0.9 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@56ee9577915dc06f55309901012a9ef68dbdb5a8", "signature_type": "Line", "target": { "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-28b6698e" }, { "digest": { "line_hashes": [ "56572722295594160899053255209294857655", "17318508143887821469557047041637159384", "205727355067066709794893485524821524341", "66200732357531759078328877775084504084" ], "threshold": 0.9 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@861f085f81fd569b02cc2c11165a9e6cca144424", "signature_type": "Line", "target": { "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-29d6ec7d" }, { "digest": { "length": 891.0, "function_hash": "111648261333623280171403737324913891533" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@540dfd188ea2940582841c1c220bd035a7db0e51", "signature_type": "Function", "target": { "function": "nouveau_gem_prime_import_sg_table", "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-3286cc8f" }, { "digest": { "line_hashes": [ "56572722295594160899053255209294857655", "17318508143887821469557047041637159384", "205727355067066709794893485524821524341", "66200732357531759078328877775084504084" ], "threshold": 0.9 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3aeda2fe6517cc52663d4ce3588dd43f0d4124a7", "signature_type": "Line", "target": { "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-3c7c9d9c" }, { "digest": { "length": 835.0, "function_hash": "50143811105963634479178736147679945429" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d6093c49c098d86c7b136aba9922df44aeb6944", "signature_type": "Function", "target": { "function": "nouveau_gem_prime_import_sg_table", "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-3f34ed5e" }, { "digest": { "length": 891.0, "function_hash": "111648261333623280171403737324913891533" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3aeda2fe6517cc52663d4ce3588dd43f0d4124a7", "signature_type": "Function", "target": { "function": "nouveau_gem_prime_import_sg_table", "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-56edbaac" }, { "digest": { "line_hashes": [ "56572722295594160899053255209294857655", "17318508143887821469557047041637159384", "205727355067066709794893485524821524341", "66200732357531759078328877775084504084" ], "threshold": 0.9 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d80473e9f12548ac05b36af4fb9ce80f2f73509", "signature_type": "Line", "target": { "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-78b58e72" }, { "digest": { "line_hashes": [ "56572722295594160899053255209294857655", "17318508143887821469557047041637159384", "205727355067066709794893485524821524341", "66200732357531759078328877775084504084" ], "threshold": 0.9 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@540dfd188ea2940582841c1c220bd035a7db0e51", "signature_type": "Line", "target": { "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-8a4c1357" }, { "digest": { "length": 891.0, "function_hash": "111648261333623280171403737324913891533" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@861f085f81fd569b02cc2c11165a9e6cca144424", "signature_type": "Function", "target": { "function": "nouveau_gem_prime_import_sg_table", "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-917a9266" }, { "digest": { "length": 891.0, "function_hash": "111648261333623280171403737324913891533" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d80473e9f12548ac05b36af4fb9ce80f2f73509", "signature_type": "Function", "target": { "function": "nouveau_gem_prime_import_sg_table", "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-d6d9e3cd" }, { "digest": { "length": 834.0, "function_hash": "36281069395191152382696233778282302159" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@56ee9577915dc06f55309901012a9ef68dbdb5a8", "signature_type": "Function", "target": { "function": "nouveau_gem_prime_import_sg_table", "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-e91c8d59" }, { "digest": { "line_hashes": [ "56572722295594160899053255209294857655", "17318508143887821469557047041637159384", "205727355067066709794893485524821524341", "66200732357531759078328877775084504084" ], "threshold": 0.9 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d6093c49c098d86c7b136aba9922df44aeb6944", "signature_type": "Line", "target": { "file": "drivers/gpu/drm/nouveau/nouveau_prime.c" }, "deprecated": false, "signature_version": "v1", "id": "CVE-2022-50454-f8781f26" } ] }