CyberSecBulletin
CVE-2022-0847Exploited in the wildNVD status: Analyzed

Linux Kernel Privilege Escalation

CVE-2022-0847 is a high-severity improper initialization vulnerability in kernel, with a CVSS 3.1 base score of 7.8 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. Affected kernel versions: Linux Kernel 5.17 rc6. The record does not name a fixed version, so check the vendor advisory. CISA added it to the Known Exploited Vulnerabilities catalogue on April 25, 2022, which means attacks have been observed in the wild.

Patch now

Attackers are already exploiting this vulnerability, according to CISA.

What to do

  1. Update Linux Kernel to 5.10.102 or 5.15.25 or 5.16.11, whichever matches your release line, or a later version.
  2. Update Scalance Lpe9403 Firmware to 2.0 or a later version.
  3. CISA's required action: Apply updates per vendor instructions.
  4. Read the advisory on psirt.global.sonicwall.com for workarounds and exact fixed builds.

Affected products and versions

VendorProductAffected versionsFixed in
KernelkernelLinux Kernel 5.17 rc6Not stated
LinuxLinux Kernel5.8 up to, but not including, 5.10.102; 5.15 up to, but not including, 5.15.25; 5.16 up to, but not including, 5.16.115.10.102, 5.15.25, 5.16.11
Fedora ProjectFedora35Not stated
Red HatEnterprise Linux8.0Not stated
Red HatEnterprise Linux EUS8.2; 8.4Not stated
Red HatEnterprise Linux For IBM Z Systems8.0Not stated
Red HatEnterprise Linux For IBM Z Systems EUS8.2; 8.4Not stated
Red HatEnterprise Linux For Power Little Endian8.0Not stated
Red HatEnterprise Linux For Power Little Endian EUS8.2; 8.4Not stated
Red HatEnterprise Linux For Real Time8Not stated
Red HatEnterprise Linux For Real Time For Nfv8Not stated
Red HatEnterprise Linux For Real Time For Nfv TUS8.2; 8.4Not stated
Red HatEnterprise Linux For Real Time TUS8.2; 8.4Not stated
Red HatEnterprise Linux Server AUS8.2; 8.4Not stated
Red HatEnterprise Linux Server For Power Little Endian Update Services For SAP Solutions8.1; 8.2; 8.4Not stated
Red HatEnterprise Linux Server TUS8.2; 8.4Not stated
Red HatEnterprise Linux Server Update Services For SAP Solutions8.1; 8.2; 8.4Not stated
Red HatCodeready Linux BuilderNot specified in the recordNot stated
Red HatVirtualization Host4.0Not stated
OvirtOvirt-engine4.4.10.2Not stated
NetAppH300s FirmwareNot specified in the recordNot stated
NetAppH500s FirmwareNot specified in the recordNot stated
NetAppH700s FirmwareNot specified in the recordNot stated
NetAppH300e FirmwareNot specified in the recordNot stated
NetAppH500e FirmwareNot specified in the recordNot stated

Version data comes from the organisation that assigned the CVE; 5 further products are omitted here. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
LocalThe attacker needs local access or must trick a user into running something.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
LowA basic user account is enough.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
HighAll data handled by the component can be read.
Integrity
HighData or code can be modified at will.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.17.8HighNVD
CVSS 3.17.8HighCISA (ADP)
CVSS 2.07.2HighNVD

Official description

A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe and push_pipe functions in the Linux kernel and could thus contain stale values. An unprivileged local user could use this flaw to write to pages in the page cache backed by read only files and as such escalate their privileges on the system.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Improper Initialization

The product does not initialize or incorrectly initializes a resource.

How developers prevent this class of flaw

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, in Java, if the programmer does not explicitly initialize a variable, then the code could produce a compile-time error (if the variable is local) or automatically initialize the variable to the default value for the variable's type. In Perl, if explicit initialization is not performed, then a default value of undef is assigned, which is interpreted as 0, false, or an equivalent value depending on the context in which the variable is accessed.
  • Identify all variables and data stores that receive information from external sources, and apply input validation to make sure that they are only initialized to expected values.
  • Explicitly initialize all your variables and other data stores, either during declaration or just before the first usage.

More Improper Initialization vulnerabilities (CWE-665)

Timeline

  1. CVE record published.
  2. Added to CISA's Known Exploited Vulnerabilities catalogue.
  3. Deadline for US federal agencies to remediate, set by CISA.
  4. CISA published its SSVC assessment (exploitation: active, automatable: no, technical impact: total).
  5. Record last changed materially (score, affected products, status or references).

References

Patches and release notes

Technical write-ups (may include proof of concept)

Other vulnerabilities in kernel

All kernel vulnerabilities

Recent Improper Initialization vulnerabilities

Spotted an error? Tell us.