In the Linux kernel, the following vulnerability has been resolved:
drm/nouveau/dispnv04: fix null pointer dereference in nv17tvgethdmodes
In nv17tvgethdmodes(), the return value of drmmodeduplicate() is assigned to mode, which will lead to a possible NULL pointer dereference on failure of drmmodeduplicate(). The same applies to drmcvtmode(). Add a check to avoid null pointer dereference.
[ { "signature_type": "Function", "id": "CVE-2024-41089-189a4eb5", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@30cbf6ffafbbdd8a6e4e5f0a2e9a9827ee83f3ad", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-19ad42a8", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6d411c8ccc0137a612e0044489030a194ff5c843", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-1fabafde", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6d411c8ccc0137a612e0044489030a194ff5c843", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-3a2d6c79", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1c9f2e60150b4f13789064370e37f39e6e060f50", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-44f72088", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1c9f2e60150b4f13789064370e37f39e6e060f50", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-48855fae", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eecb49a6c268dc229005bf6e8167d4001dc09a0", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-6c1a11c1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@56fc4d3b0bdef691831cd95715a7ca3ebea98b2d", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-6e3a6d21", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ece609b0ce7a7ea8acdf512a77d1fee26621637", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-758772bf", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ffabad4aa91e33ced3c6ae793fb37771b3e9cb51", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-862e2865", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e49a157d541e7e97b815a56f4bdfcbc89844a59", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-92ea3265", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@56fc4d3b0bdef691831cd95715a7ca3ebea98b2d", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-9591b9b0", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@30cbf6ffafbbdd8a6e4e5f0a2e9a9827ee83f3ad", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-a3314236", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ffabad4aa91e33ced3c6ae793fb37771b3e9cb51", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-41089-ce174c3c", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ece609b0ce7a7ea8acdf512a77d1fee26621637", "signature_version": "v1", "target": { "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "252965727775329081197099029117602239448", "170693488691730385521225926146373147077", "303620588191658310212980015814623279126", "307001593205863779017169134229124840756", "144550344164131224322762408817634739399", "232296151485334076254971108259977091609", "279056824131342028122836951777236267123", "74807845105692971757113610696708691590" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-daf4fb7d", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eecb49a6c268dc229005bf6e8167d4001dc09a0", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-41089-fb1f9279", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e49a157d541e7e97b815a56f4bdfcbc89844a59", "signature_version": "v1", "target": { "function": "nv17_tv_get_hd_modes", "file": "drivers/gpu/drm/nouveau/dispnv04/tvnv17.c" }, "digest": { "function_hash": "51739663376397911270163547257188350238", "length": 1350.0 }, "deprecated": false } ]