coresight: etm4x: fix underflow for usage of (nrseqstate - 1)
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: coresight: etm4x: fix underflow for usage of (nrseqstate - 1) According to IHI006H Embedded Trace Macrocell Architecture Specification[0], TRCSEQEVR<n> is implemented only when TRCIDR5.NUMSEQSTATE is 0b100, in which case n ranges from 0 to 2; otherwise, TRCIDR5.NUMSEQSTATE is 0b000. IOW, the number of usage in the initialisation or setting TRCSEQEVR<n> with drvdata->nrseqstate - 1 in the loop could make underflow issue when TRCIDR5.NUMSEQSTATE is 0b000. Therefore, introduce nr_seq_ctrls field and untie it from nrseqstate. As part of this introduce ETM_MAX_SEQ_TRANSITIONS macro and apply nr_seq_ctrls and above macro to TRCSEQEVR<n> relevant fields setup.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in 8d669db59f7283b838e029af29da12e505265fae; From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in 4091f2d5b26d117c992ffcce1a5df425a0daedcd; From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in be7b2de5b9a96ae68ffa3528e0a40d63e0fd8148; From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in 4f9a0f548413bf864f609c9f4bc56e3f1b3577d4; From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in 1ade9a335c69fc735cb7b3f222ed35ab135540fb; From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in 5ac900f73ce1d4d8308f40752b51bc8a02b244d2; From 2e1cdfe184b5202d51e0611d7a051e2bea303946 · fixed in 1674d9bff8073bdee5dbc200f56fc3caa28d0566
- Linux Linux
4.2
- KernelLinux
From 4.2.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6
References 7
git.kernel.org
- stable/c/8d669db59f7283b838e029af29da12e505265fae
- stable/c/4091f2d5b26d117c992ffcce1a5df425a0daedcd
- stable/c/be7b2de5b9a96ae68ffa3528e0a40d63e0fd8148
- stable/c/4f9a0f548413bf864f609c9f4bc56e3f1b3577d4
- stable/c/1ade9a335c69fc735cb7b3f222ed35ab135540fb
- stable/c/5ac900f73ce1d4d8308f40752b51bc8a02b244d2
- stable/c/1674d9bff8073bdee5dbc200f56fc3caa28d0566