Bug 1227549 (CVE-2022-48713)

Summary: VUL-0: CVE-2022-48713: kernel: perf/x86/intel/pt: Fix crash with stop filters in single-range mode
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: NEW --- QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: gianluca.gabrielli, mkoutny
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/411547/
Whiteboard: CVSSv3.1:SUSE:CVE-2022-48713:4.4:(AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-07-09 09:02:30 UTC
In the Linux kernel, the following vulnerability has been resolved:

perf/x86/intel/pt: Fix crash with stop filters in single-range mode

Add a check for !buf->single before calling pt_buffer_region_size in a
place where a missing check can cause a kernel crash.

Fixes a bug introduced by commit 670638477aed ("perf/x86/intel/pt:
Opportunistically use single range output mode"), which added a
support for PT single-range output mode. Since that commit if a PT
stop filter range is hit while tracing, the kernel will crash because
of a null pointer dereference in pt_handle_status due to calling
pt_buffer_region_size without a ToPA configured.

The commit which introduced single-range mode guarded almost all uses of
the ToPA buffer variables with checks of the buf->single variable, but
missed the case where tracing was stopped by the PT hardware, which
happens when execution hits a configured stop filter.

Tested that hitting a stop filter while PT recording successfully
records a trace with this patch but crashes without this patch.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-48713
https://www.cve.org/CVERecord?id=CVE-2022-48713
https://git.kernel.org/stable/c/1d9093457b243061a9bba23543c38726e864a643
https://git.kernel.org/stable/c/456f041e035913fcedb275aff6f8a71dfebcd394
https://git.kernel.org/stable/c/e83d941fd3445f660d2f43647c580a320cc384f6
https://git.kernel.org/stable/c/feffb6ae2c80b9a8206450cdef90f5943baced99
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2022/CVE-2022-48713.mbox
https://bugzilla.redhat.com/show_bug.cgi?id=2293289