CVE-2020-14386
Public on
Last Modified:
Description
A flaw was found in the Linux kernel. Memory corruption can be exploited to gain root privileges from unprivileged processes. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Statement
Only local users with CAP_NET_RAW capability enabled can trigger this issue.
For OpenShift Container Platform 4, pods in the default restricted SCC are granted CAP_NET_RAW by default. An attacker can exploit this if they can run arbitrary container images on the target cluster.
Mitigation
If the CAP_NET_RAW capability disabled by default (which is true for Red Hat Enterprise Linux), then only a privileged user can trigger this bug. The mitigation is to disable CAP_NET_RAW capability for regular users and for executables.
On Red Hat Enterprise Linux 8 CAP_NET_RAW capability can be also gained by exploiting unprivileged user namespaces. The mitigation is to disable unprivileged user namespaces by setting user.max_user_namespaces to 0:
# echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
# sysctl -p /etc/sysctl.d/userns.conf
OpenShift Container Platform 4.5 and 4.4 this can be mitigated by removing `CAP_NET_RAW` from the default cri-o capabilities provided to pods (NOTE: This may prevent `ping` from working in unprivileged pods. This fix has not been validated for OpenShift 4.3 or below):
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker
name: 50-reset-crio-capabilities
spec:
config:
ignition:
version: 2.2.0
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,W2NyaW8ucnVudGltZV0KZGVmYXVsdF9jYXBhYmlsaXRpZXMgPSBbCiAgICAiQ0hPV04iLAogICAgIkRBQ19PVkVSUklERSIsCiAgICAiRlNFVElEIiwKICAgICJGT1dORVIiLAogICAgIlNFVEdJRCIsCiAgICAiU0VUVUlEIiwKICAgICJTRVRQQ0FQIiwKICAgICJORVRfQklORF9TRVJWSUNFIiwKICAgICJTWVNfQ0hST09UIiwKICAgICJLSUxMIiwKXQo=
filesystem: root
mode: 0644
path: /etc/crio/crio.conf.d/reset-crio-capabilities.conf
Create this MachineConfig object via e.g. `oc apply`. More information about MachineConfig can be found here:
This content is not included.https://github.com/openshift/machine-config-operator
https://docs.openshift.com/container-platform/4.5/architecture/architecture-rhcos.html
In order to monitor the rollout of this change, use `oc describe machineconfigpool/worker`.
Check for any pods which start to crash after this is applied; they may need to be adjusted request `CAP_NET_RAW` explicitly. More information:
This content is not included.https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-capabilities-for-a-container
This page is not included, but the link has been rewritten to point to the nearest parent document.https://docs.openshift.com/container-platform/4.5/authentication/managing-security-context-constraints.html
Additional Information
- This content is not included.Bugzilla 1875699: kernel: memory corruption in net/packet/af_packet.c leads to elevation of privilege
- Content from cwe.mitre.org is not included.CWE-786: Access of Memory Location Before Start of Buffer
- FAQ: Frequently asked questions about CVE-2020-14386
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.
External References
Content from www.cve.org is not included.https://www.cve.org/CVERecord?id=CVE-2020-14386
Content from nvd.nist.gov is not included.https://nvd.nist.gov/vuln/detail/CVE-2020-14386
Content from seclists.org is not included.https://seclists.org/oss-sec/2020/q3/146
Affected Packages and Issued Red Hat Security Errata
| Products / Services | Components | State | Errata |
|---|---|---|---|
| Red Hat Enterprise Linux 5 | kernel | Not affected | |
| Red Hat Enterprise Linux 6 | kernel | Not affected | |
| Red Hat Enterprise Linux 7 | kernel | Not affected | |
| Red Hat Enterprise Linux 7 | kernel-alt | Not affected | |
| Red Hat Enterprise Linux 7 | kernel-rt | Not affected | |
| Red Hat Enterprise Linux 8 | kernel | Fixed | RHSA-2020:4286 |
| Red Hat Enterprise Linux 8 | kernel-rt | Fixed | RHSA-2020:4289 |
| Red Hat Enterprise Linux 8 | kpatch-patch | Fixed | RHSA-2020:4331 |
| Red Hat Enterprise Linux 8.0 Update Services for SAP Solutions | kernel | Fixed | RHSA-2020:5199 |
| Red Hat Enterprise Linux 8.1 Extended Update Support | kernel | Fixed | RHSA-2020:4287 |
| Red Hat Enterprise Linux 8.1 Extended Update Support | kpatch-patch | Fixed | RHSA-2020:4332 |
| Red Hat Enterprise MRG 2 | kernel | Not affected |
Common Vulnerability Scoring System (CVSS) Score Details
Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authorities (CNA) source for its products and services (see Red Hat classifications ).
| CVSS v3 Score Breakdown | Red Hat | NVD |
|---|---|---|
| CVSS v3 Base Score | 7.8 | 7.8 |
| Attack Vector | Local | Local |
| Attack Complexity | Low | Low |
| Privileges Required | Low | Low |
| User Interaction | None | None |
| Scope | Unchanged | Unchanged |
| Confidentiality Impact | High | High |
| Integrity Impact | High | High |
| Availability Impact | High | High |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat CVSS v3 Score Explanation
While PR:H is technically correct because of the CAP_NET_RAW capability requirement, unprivileged users on the system with unprivileged user namespaces enabled (this seems to be default among distributions) can grant themselves CAP_NET_RAW capability easily, so in practice, it's PR:L.
Acknowledgements
Red Hat would like to thank Or Cohen (paloaltonetworks.com) for reporting this issue.
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
Not sure what something means? Check out our Security Glossary.