{"affected":[{"defaultStatus":"unaffected","product":"Linux","source":"CNA: Linux","vendor":"Linux","versions":[{"lessThan":"70e2eb91cb6310a3508439f6f2539dfffa0abf77","status":"affected","version":"6a01df2f1b2a3b29721143729a3feff816bc0083","versionType":"git"},{"lessThan":"12f3b6cbab8fbeb95097685b40f0147406cf9746","status":"affected","version":"6a01df2f1b2a3b29721143729a3feff816bc0083","versionType":"git"},{"lessThan":"bfa71b7a9dc6b5b8af157686e03308291141d00c","status":"affected","version":"6a01df2f1b2a3b29721143729a3feff816bc0083","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","source":"CNA: Linux","vendor":"Linux","versions":[{"status":"affected","version":"6.15"},{"lessThan":"6.15","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.21","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cveId":"CVE-2026-31571","cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915: Unlink NV12 planes earlier\n\nunlink_nv12_plane() will clobber parts of the plane state\npotentially already set up by plane_atomic_check(), so we\nmust make sure not to call the two in the wrong order.\nThe problem happens when a plane previously selected as\na Y plane is now configured as a normal plane by user space.\nplane_atomic_check() will first compute the proper plane\nstate based on the userspace request, and unlink_nv12_plane()\nlater clears some of the state.\n\nThis used to work on account of unlink_nv12_plane() skipping\nthe state clearing based on the plane visibility. But I removed\nthat check, thinking it was an impossible situation. Now when\nthat situation happens unlink_nv12_plane() will just WARN\nand proceed to clobber the state.\n\nRather than reverting to the old way of doing things, I think\nit's more clear if we unlink the NV12 planes before we even\ncompute the new plane state.\n\n(cherry picked from commit 017ecd04985573eeeb0745fa2c23896fb22ee0cc)","epss":{"date":"2026-11-05","percentile":0.01901,"score":0.00121},"exploits":[],"kev":null,"metrics":[],"modifiedAt":1793915108323,"publishedAt":1777041350094,"references":[{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/70e2eb91cb6310a3508439f6f2539dfffa0abf77"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/12f3b6cbab8fbeb95097685b40f0147406cf9746"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/bfa71b7a9dc6b5b8af157686e03308291141d00c"}],"remediation":[],"revision":"23f1256d02984355533e54e3ac092a34ae8f1a4c11999e9d23267de23206bc25","sources":[{"modifiedAt":1793915108323,"name":"CNA: Linux","retrievedAt":1793917100908,"url":"https://www.cve.org/CVERecord?id=CVE-2026-31571"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1793917101402,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-31571"}],"ssvc":{"assessedAt":1793914754635,"automatable":"no","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"partial"},"status":"published","title":"drm/i915: Unlink NV12 planes earlier","updatedAt":1793917101402}