Bug 1753113

Summary: hw: Conditional Jump Macro-fusion (JCC)
Product: [Other] Security Response Reporter: Wade Mealing <wmealing>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: aarapov, esyr, jarodwilson, jonathan, mikedep333, poros, security-response-team, skozina
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-25 22:12:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1765405, 1765406, 1765407, 1765408, 1765409, 1765410, 1765411, 1765412, 1765413, 1765414, 1765415, 1765416, 1766958, 1767759, 1771655    
Bug Blocks: 1752312    

Description Wade Mealing 2019-09-18 06:57:07 UTC
Intel microprocessors include logic known as Macro-Op Fusion (or MOP See https://en.wikichip.org/wiki/macro-operation_fusion) where an intermediary layer will batch together sequences of instructions into a single micro-operation (μOp) to be peformed by the CPU's hardware.

An implementation defect in Intel’s design of MOP Fusion on recent processors allows malicious code to cause undefined behavior. The most likely side effect is that exploitation of this condition can lead to crashes and system errors.

The precise conditions of this vulnerability involve conditional branches that have previously been decoded by the DSB (Decoded Stream Buffer or “uop cache”) that also cross a cache line boundary. Under a corner case condition such a sequence will incorrectly attempt to execute code that does not exist, leading to a range of errors from #UD (Undefined Instruction kernel panic) and spurious page faults (which may also panic the system).

Intel have provided information in the pdf linked in this comment for compiler flags that can reduce the impact of these changes on programs that may need optimisation in this area.


Additional information:

https://en.wikichip.org/wiki/macro-operation_fusion
https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf

Comment 5 Wade Mealing 2019-11-12 08:25:00 UTC
Acknowledgements:

Red Hat thanks Intel for reporting this issue and collaborating on the mitigations.

Comment 6 Prasad Pandit 2019-11-12 10:13:20 UTC
Statement:

Red Hat Product Security is aware of this issue. Updates will be released as they become available. For additional information, please refer to the Red Hat Knowledgebase article: https://access.redhat.com/solutions/2019-microcode-nov

Comment 8 Prasad Pandit 2019-11-12 10:13:26 UTC
Mitigation:

As of this time there are no known mitigations. Please install relevant updated packages to address this flaw.

Comment 9 Prasad Pandit 2019-11-12 18:14:14 UTC
Created microcode_ctl tracking bugs for this issue:

Affects: fedora-all [bug 1771655]