Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314) - Nessus

High   Plugin ID: 160189

This page contains detailed information about the Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314) Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 160189
Name: Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314)
Filename: oraclelinux_ELSA-2022-9314.nasl
Vulnerability Published: 2021-09-27
This Plugin Published: 2022-04-25
Last Modification Time: 2022-04-26
Plugin Version: 1.3
Plugin Type: local
Plugin Family: Oracle Linux Local Security Checks
Dependencies: linux_alt_patch_detect.nasl, ssh_get_info.nasl
Required KB Items [?]: Host/local_checks_enabled, Host/OracleLinux, Host/RedHat/release, Host/RedHat/rpm-list

Vulnerability Information


Severity: High
Vulnerability Published: 2021-09-27
Patch Published: 2022-04-25
CVE [?]: CVE-2020-36516, CVE-2021-4002, CVE-2021-4149, CVE-2021-20317, CVE-2021-26401, CVE-2022-0330, CVE-2022-0435, CVE-2022-0492, CVE-2022-0617, CVE-2022-0847, CVE-2022-1016, CVE-2022-22942, CVE-2022-24448, CVE-2022-26966
CPE [?]: cpe:/o:oracle:linux:7, p-cpe:/a:oracle:linux:kernel-uek-container
Exploited by Malware: True

Synopsis

The remote Oracle Linux host is missing one or more security updates.

Description

The remote Oracle Linux 7 host has a package installed that is affected by multiple vulnerabilities as referenced in the ELSA-2022-9314 advisory.

- 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. (CVE-2022-0847)

- A stack overflow flaw was found in the Linux kernel's TIPC protocol functionality in the way a user sends a packet with malicious content where the number of domain member nodes is higher than the 64 allowed. This flaw allows a remote user to crash the system or possibly escalate their privileges if they have access to the TIPC network. (CVE-2022-0435)

- LFENCE/JMP (mitigation V2-2) may not sufficiently mitigate CVE-2017-5715 on some AMD CPUs. (CVE-2021-26401)

- An issue was discovered in the Linux kernel through 5.16.11. The mixed IPID assignment method with the hash-based IPID assignment policy allows an off-path attacker to inject data into a victim's TCP session or terminate that session. (CVE-2020-36516)

- An issue was discovered in the Linux kernel before 5.16.12. drivers/net/usb/sr9700.c allows attackers to obtain sensitive information from heap memory via crafted frame lengths from a device. (CVE-2022-26966)

- A flaw was found in the Linux kernel in linux/net/netfilter/nf_tables_api.c of the netfilter subsystem. This flaw allows a local user to cause an out-of-bounds write issue. (CVE-2022-1015) (CVE-2022-1016)

- A flaw null pointer dereference in the Linux kernel UDF file system functionality was found in the way user triggers udf_file_write_iter function for the malicious UDF image. A local user could use this flaw to crash the system. Actual from Linux kernel 4.2-rc1 till 5.17-rc2. (CVE-2022-0617)

- An issue was discovered in fs/nfs/dir.c in the Linux kernel before 5.16.5. If an application sets the O_DIRECTORY flag, and tries to open a regular file, nfs_atomic_open() performs a regular lookup. If a regular file is found, ENOTDIR should occur, but the server instead returns uninitialized data in the file descriptor. (CVE-2022-24448)

- A memory leak flaw in the Linux kernel's hugetlbfs memory usage was found in the way the user maps some regions of memory twice using shmget() which are aligned to PUD alignment with the fault of some of the memory pages. A local user could use this flaw to get unauthorized access to some data. (CVE-2021-4002)

- A vulnerability was found in btrfs_alloc_tree_b in fs/btrfs/extent-tree.c in the Linux kernel due to an improper lock operation in btrfs. In this flaw, a user with a local privilege may cause a denial of service (DOS) due to a deadlock problem. (CVE-2021-4149)

- A vulnerability was found in the Linux kernel's cgroup_release_agent_write in the kernel/cgroup/cgroup-v1.c function. This flaw, under certain circumstances, allows the use of the cgroups v1 release_agent feature to escalate privileges and bypass the namespace isolation unexpectedly. (CVE-2022-0492)

- A random memory access flaw was found in the Linux kernel's GPU i915 kernel driver functionality in the way a user may run malicious code on the GPU. This flaw allows a local user to crash the system or escalate their privileges on the system. (CVE-2022-0330)

- kernel: failing usercopy allows for use-after-free exploitation (CVE-2022-22942)

- A flaw was found in the Linux kernel. A corrupted timer tree caused the task wakeup to be missing in the timerqueue_add function in lib/timerqueue.c. This flaw allows a local attacker with special user privileges to cause a denial of service, slowing and eventually stopping the system while running OSP. (CVE-2021-20317)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Update the affected kernel-uek-container package.

Public Exploits


Target Network Port(s): N/A
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB, GitHub)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314) vulnerability:

  1. Metasploit: exploit/linux/local/cve_2022_0847_dirtypipe
    [Dirty Pipe Local Privilege Escalation via CVE-2022-0847]
  2. Exploit-DB: exploits/linux/local/50808.c
    [EDB-50808: Linux Kernel 5.8 < 5.16.11 - Local Privilege Escalation (DirtyPipe)]
  3. GitHub: https://github.com/bollwarm/SecToolSet
    [CVE-2022-0435]
  4. GitHub: https://github.com/SofianeHamlaoui/CVE-2022-0492-Checker
    [CVE-2022-0492: A script to check if a container environment is vulnerable to container escapes via ...]
  5. GitHub: https://github.com/chenaotian/CVE-2022-0492
    [CVE-2022-0492: CVE-2022-0492 EXP and Analysis write up]
  6. GitHub: https://github.com/puckiestyle/CVE-2022-0492
    [CVE-2022-0492]
  7. GitHub: https://github.com/0xIronGoat/dirty-pipe
    [CVE-2022-0847: Implementation of Max Kellermann's exploit for CVE-2022-0847]
  8. GitHub: https://github.com/2xYuan/CVE-2022-0847
    [CVE-2022-0847: 66666]
  9. GitHub: https://github.com/4luc4rdr5290/CVE-2022-0847
    [CVE-2022-0847]
  10. GitHub: https://github.com/Al1ex/CVE-2022-0847
    [CVE-2022-0847]
  11. GitHub: https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits
    [CVE-2022-0847: A collection of exploits and documentation that can be used to exploit the Linux ...]
  12. GitHub: https://github.com/AyoubNajim/cve-2022-0847dirtypipe-exploit
    [CVE-2022-0847]
  13. GitHub: https://github.com/CYB3RK1D/CVE-2022-0847
    [CVE-2022-0847: dirtypipe]
  14. GitHub: https://github.com/CYB3RK1D/CVE-2022-0847-POC
    [CVE-2022-0847: Dirtypipe]
  15. GitHub: https://github.com/DataDog/dirtypipe-container-breakout-poc
    [CVE-2022-0847: Container Excape PoC for CVE-2022-0847 "DirtyPipe"]
  16. GitHub: https://github.com/Greetdawn/CVE-2022-0847-DirtyPipe
    [CVE-2022-0847]
  17. GitHub: https://github.com/Greetdawn/CVE-2022-0847-DirtyPipe-
    [CVE-2022-0847]
  18. GitHub: https://github.com/ITMarcin2211/CVE-2022-0847-DirtyPipe-Exploit
    [CVE-2022-0847]
  19. GitHub: https://github.com/LP-H4cmilo/CVE-2022-0847_DirtyPipe_Exploits
    [CVE-2022-0847: A collection of exploits and documentation that can be used to exploit the Linux ...]
  20. GitHub: https://github.com/LudovicPatho/CVE-2022-0847
    [CVE-2022-0847: Hacked up Dirty Pipe (CVE-2022-0847) PoC that hijacks a SUID binary to spawn a root ...]
  21. GitHub: https://github.com/LudovicPatho/CVE-2022-0847_dirty-pipe
    [CVE-2022-0847: Hacked up Dirty Pipe (CVE-2022-0847) PoC that hijacks a SUID binary to spawn a root ...]
  22. GitHub: https://github.com/MRNIKO1/Dirtypipe-exploit
    [CVE-2022-0847: Dirty Pipe (CVE-2022-0847) PoC that hijacks a SUID binary to spawn. a root shell. ...]
  23. GitHub: https://github.com/MrP1xel/CVE-2022-0847-dirty-pipe-kernel-checker
    [CVE-2022-0847: Python script to check if your kernel is vulnerable to Dirty pipe CVE-2022-0847]
  24. GitHub: https://github.com/Mustafa1986/CVE-2022-0847-DirtyPipe-Exploit
    [CVE-2022-0847]
  25. GitHub: https://github.com/Nekoox/dirty-pipe
    [CVE-2022-0847: Exploit for Dirty-Pipe (CVE-2022-0847)]
  26. GitHub: https://github.com/Patocoh/Research-Dirty-Pipe
    [CVE-2022-0847: CVE 2022-0847]
  27. GitHub: https://github.com/Shotokhan/cve_2022_0847_shellcode
    [CVE-2022-0847: Implementation of CVE-2022-0847 as a shellcode]
  28. GitHub: https://github.com/T4t4ru/CVE-2022-0847
    [CVE-2022-0847]
  29. GitHub: https://github.com/Udyz/CVE-2022-0847
    [CVE-2022-0847: This is the story of CVE-2022-0847, a vulnerability in the Linux kernel since 5.8 ...]
  30. GitHub: https://github.com/V0WKeep3r/CVE-2022-0847-DirtyPipe-Exploit
    [CVE-2022-0847: CVE-2022-0847-DirtyPipe-Exploit]
  31. GitHub: https://github.com/ahrixia/CVE_2022_0847
    [CVE-2022-0847: CVE-2022-0847: Linux Kernel Privilege Escalation Vulnerability]
  32. GitHub: https://github.com/akecha/Dirty-pipe
    [CVE-2022-0847: CVE-2022-0847 Linux kernel LPE POC]
  33. GitHub: https://github.com/antx-code/CVE-2022-0847
    [CVE-2022-0847: Linux Kernel Local Privilege Escalation Vulnerability CVE-2022-0847.]
  34. GitHub: https://github.com/babyshen/CVE-2022-0847
    [CVE-2022-0847: A root exploit for CVE-2022-0847 (Dirty Pipe)]
  35. GitHub: https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker
    [CVE-2022-0847: Bash script to check for CVE-2022-0847 "Dirty Pipe"]
  36. GitHub: https://github.com/bbaranoff/CVE-2022-0847
    [CVE-2022-0847]
  37. GitHub: https://github.com/breachnix/dirty-pipe-poc
    [CVE-2022-0847: CVE-2022-0847 POC]
  38. GitHub: https://github.com/carlosevieira/Dirty-Pipe
    [CVE-2022-0847: CVE-2022-0847 exploit one liner]
  39. GitHub: https://github.com/chenaotian/CVE-2022-0847
    [CVE-2022-0847: CVE-2022-0847 POC and Docker and Analysis write up]
  40. GitHub: https://github.com/crowsec-edtech/Dirty-Pipe
    [CVE-2022-0847: CVE-2022-0847 exploit one liner]
  41. GitHub: https://github.com/crusoe112/DirtyPipePython
    [CVE-2022-0847: A Python-based DirtyPipe (CVE-2022-0847) POC to pop a root shell]
  42. GitHub: https://github.com/cspshivam/CVE-2022-0847-dirty-pipe-exploit
    [CVE-2022-0847: An exploit for CVE-2022-0847 dirty-pipe vulnerability]
  43. GitHub: https://github.com/dadhee/CVE-2022-0847_DirtyPipeExploit
    [CVE-2022-0847: A “Dirty Pipe” vulnerability with CVE-2022-0847 and a CVSS score of 7.8 has been ...]
  44. GitHub: https://github.com/drapl0n/dirtypipe
    [CVE-2022-0847: DirtyPipe: Exploit for a new Linux vulnerability known as 'Dirty ...]
  45. GitHub: https://github.com/edsonjt81/CVE-2022-0847-Linux
    [CVE-2022-0847]
  46. GitHub: https://github.com/febinrev/dirtypipez-exploit
    [CVE-2022-0847: CVE-2022-0847 DirtyPipe Exploit.]
  47. GitHub: https://github.com/githublihaha/DirtyPIPE-CVE-2022-0847
    [CVE-2022-0847]
  48. GitHub: https://github.com/gyaansastra/CVE-2022-0847
    [CVE-2022-0847: Dirty Pipe POC]
  49. GitHub: https://github.com/knqyf263/CVE-2022-0847
    [CVE-2022-0847: The Dirty Pipe Vulnerability]
  50. GitHub: https://github.com/logm1lo/CVE-2022-0847_DirtyPipe_Exploits
    [CVE-2022-0847: A collection of exploits and documentation that can be used to exploit the Linux ...]
  51. GitHub: https://github.com/lucksec/CVE-2022-0847
    [CVE-2022-0847]
  52. GitHub: https://github.com/michaelklaan/CVE-2022-0847-Dirty-Pipe
    [CVE-2022-0847]
  53. GitHub: https://github.com/mrchucu1/CVE-2022-0847-Docker
    [CVE-2022-0847: Docker exploit]
  54. GitHub: https://github.com/nanaao/Dirtypipe-exploit
    [CVE-2022-0847: Dirty Pipe (CVE-2022-0847) PoC that hijacks a SUID binary to spawn. a root shell. ...]
  55. GitHub: https://github.com/pentestblogin/pentestblog-CVE-2022-0847
    [CVE-2022-0847]
  56. GitHub: https://github.com/phuonguno98/CVE-2022-0847
    [CVE-2022-0847]
  57. GitHub: https://github.com/phuonguno98/CVE-2022-0847-DirtyPipe-Exploits
    [CVE-2022-0847]
  58. GitHub: https://github.com/puckiestyle/CVE-2022-0847
    [CVE-2022-0847]
  59. GitHub: https://github.com/rahul1406/cve-2022-0847dirtypipe-exploit
    [CVE-2022-0847]
  60. GitHub: https://github.com/realbatuhan/dirtypipetester
    [CVE-2022-0847: Dirty Pipe (CVE-2022-0847) zafiyeti kontrolü]
  61. GitHub: https://github.com/rexpository/Linux-privilege-escalation
    [CVE-2022-0847: Scripted Linux Privilege Escalation for the CVE-2022-0847 "Dirty Pipe" vulnerability ...]
  62. GitHub: https://github.com/rexpository/linux-privilege-escalation
    [CVE-2022-0847: Scripted Linux Privilege Escalation for the CVE-2022-0847 "Dirty Pipe" vulnerability ...]
  63. GitHub: https://github.com/sa-infinity8888/Dirty-Pipe-CVE-2022-0847
    [CVE-2022-0847: CVE-2022-0847 (Dirty Pipe) is an arbitrary file overwrite vulnerability that allows ...]
  64. GitHub: https://github.com/si1ent-le/CVE-2022-0847
    [CVE-2022-0847: CVE-2022-0487]
  65. GitHub: https://github.com/stfnw/Debugging_Dirty_Pipe_CVE-2022-0847
    [CVE-2022-0847: Presentation slides and supplementary material]
  66. GitHub: https://github.com/terabitSec/dirtyPipe-automaticRoot
    [CVE-2022-0847: CVE-2022-0847 Python exploit to get root or write a no write permission, immutable ...]
  67. GitHub: https://github.com/tmoneypenny/CVE-2022-0847
    [CVE-2022-0847: Poc]
  68. GitHub: https://github.com/tufanturhan/CVE-2022-0847-L-nux-PrivEsc
    [CVE-2022-0847]
  69. GitHub: https://github.com/xnderLAN/CVE-2022-0847
    [CVE-2022-0847: Linux “Dirty Pipe” vulnerability gives unprivileged users root access]
  70. GitHub: https://github.com/xndpxs/CVE-2022-0847
    [CVE-2022-0847: Vulnerability in the Linux kernel since 5.8]
  71. GitHub: https://github.com/PaloAltoNetworks/can-ctr-escape-cve-2022-0492
    [CVE-2022-0492: Test whether a container environment is vulnerable to container escapes via ...]
  72. GitHub: https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit
    [CVE-2022-0847: A root exploit for CVE-2022-0847 (Dirty Pipe)]
  73. GitHub: https://github.com/arttnba3/CVE-2022-0847
    [CVE-2022-0847: My personal exploit of CVE-2022-0847(dirty pipe)]
  74. GitHub: https://github.com/DanaEpp/pwncat_dirtypipe
    [CVE-2022-0847: Pwncat module that automatically exploits CVE-2022-0847 (dirtypipe)]
  75. GitHub: https://github.com/imfiver/CVE-2022-0847
    [CVE-2022-0847: CVE-2022-0847-DirtyPipe-Exploit CVE-2022-0847 是存在于 Linux内核 5.8 ...]
  76. GitHub: https://github.com/mhanief/dirtypipe
    [CVE-2022-0847: Dirty Pipe Vulnerability Detection Script - RHSB-2022-002 Dirty Pipe - kernel ...]

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS Score Source [?]: CVE-2022-0435
CVSS V2 Vector: AV:N/AC:L/Au:S/C:C/I:C/A:C/E:H/RL:OF/RC:C
CVSS Base Score:9.0 (High)
Impact Subscore:10.0
Exploitability Subscore:8.0
CVSS Temporal Score:7.8 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:7.8 (High)
CVSS V3 Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:H/RL:O/RC:C
CVSS Base Score:8.8 (High)
Impact Subscore:5.9
Exploitability Subscore:2.8
CVSS Temporal Score:8.4 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:8.4 (High)

Go back to menu.

Plugin Source


This is the oraclelinux_ELSA-2022-9314.nasl nessus plugin source code. This script is Copyright (C) 2022 and is owned by Tenable, Inc. or an Affiliate thereof.

#%NASL_MIN_LEVEL 70300
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Oracle Linux Security Advisory ELSA-2022-9314.
##

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(160189);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/26");

  script_cve_id(
    "CVE-2020-36516",
    "CVE-2021-4002",
    "CVE-2021-4149",
    "CVE-2021-20317",
    "CVE-2021-26401",
    "CVE-2022-0330",
    "CVE-2022-0435",
    "CVE-2022-0492",
    "CVE-2022-0617",
    "CVE-2022-0847",
    "CVE-2022-1016",
    "CVE-2022-22942",
    "CVE-2022-24448",
    "CVE-2022-26966"
  );
  script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2022/05/16");

  script_name(english:"Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Oracle Linux host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote Oracle Linux 7 host has a package installed that is affected by multiple vulnerabilities as referenced in the
ELSA-2022-9314 advisory.

  - 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. (CVE-2022-0847)

  - A stack overflow flaw was found in the Linux kernel's TIPC protocol functionality in the way a user sends
    a packet with malicious content where the number of domain member nodes is higher than the 64 allowed.
    This flaw allows a remote user to crash the system or possibly escalate their privileges if they have
    access to the TIPC network. (CVE-2022-0435)

  - LFENCE/JMP (mitigation V2-2) may not sufficiently mitigate CVE-2017-5715 on some AMD CPUs.
    (CVE-2021-26401)

  - An issue was discovered in the Linux kernel through 5.16.11. The mixed IPID assignment method with the
    hash-based IPID assignment policy allows an off-path attacker to inject data into a victim's TCP session
    or terminate that session. (CVE-2020-36516)

  - An issue was discovered in the Linux kernel before 5.16.12. drivers/net/usb/sr9700.c allows attackers to
    obtain sensitive information from heap memory via crafted frame lengths from a device. (CVE-2022-26966)

  - A flaw was found in the Linux kernel in linux/net/netfilter/nf_tables_api.c of the netfilter subsystem.
    This flaw allows a local user to cause an out-of-bounds write issue. (CVE-2022-1015) (CVE-2022-1016)

  - A flaw null pointer dereference in the Linux kernel UDF file system functionality was found in the way
    user triggers udf_file_write_iter function for the malicious UDF image. A local user could use this flaw
    to crash the system. Actual from Linux kernel 4.2-rc1 till 5.17-rc2. (CVE-2022-0617)

  - An issue was discovered in fs/nfs/dir.c in the Linux kernel before 5.16.5. If an application sets the
    O_DIRECTORY flag, and tries to open a regular file, nfs_atomic_open() performs a regular lookup. If a
    regular file is found, ENOTDIR should occur, but the server instead returns uninitialized data in the file
    descriptor. (CVE-2022-24448)

  - A memory leak flaw in the Linux kernel's hugetlbfs memory usage was found in the way the user maps some
    regions of memory twice using shmget() which are aligned to PUD alignment with the fault of some of the
    memory pages. A local user could use this flaw to get unauthorized access to some data. (CVE-2021-4002)

  - A vulnerability was found in btrfs_alloc_tree_b in fs/btrfs/extent-tree.c in the Linux kernel due to an
    improper lock operation in btrfs. In this flaw, a user with a local privilege may cause a denial of
    service (DOS) due to a deadlock problem. (CVE-2021-4149)

  - A vulnerability was found in the Linux kernel's cgroup_release_agent_write in the
    kernel/cgroup/cgroup-v1.c function. This flaw, under certain circumstances, allows the use of the cgroups
    v1 release_agent feature to escalate privileges and bypass the namespace isolation unexpectedly.
    (CVE-2022-0492)

  - A random memory access flaw was found in the Linux kernel's GPU i915 kernel driver functionality in the
    way a user may run malicious code on the GPU. This flaw allows a local user to crash the system or
    escalate their privileges on the system. (CVE-2022-0330)

  - kernel: failing usercopy allows for use-after-free exploitation (CVE-2022-22942)

  - A flaw was found in the Linux kernel. A corrupted timer tree caused the task wakeup to be missing in the
    timerqueue_add function in lib/timerqueue.c. This flaw allows a local attacker with special user
    privileges to cause a denial of service, slowing and eventually stopping the system while running OSP.
    (CVE-2021-20317)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://linux.oracle.com/errata/ELSA-2022-9314.html");
  script_set_attribute(attribute:"solution", value:
"Update the affected kernel-uek-container package.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:H/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-0435");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Dirty Pipe Local Privilege Escalation via CVE-2022-0847');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2021/09/27");
  script_set_attribute(attribute:"patch_publication_date", value:"2022/04/25");
  script_set_attribute(attribute:"plugin_publication_date", value:"2022/04/25");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:oracle:linux:7");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:kernel-uek-container");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Oracle Linux Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2022 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("linux_alt_patch_detect.nasl", "ssh_get_info.nasl");
  script_require_keys("Host/OracleLinux", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/local_checks_enabled");

  exit(0);
}


include('ksplice.inc');
include('rpm.inc');

if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item('Host/OracleLinux')) audit(AUDIT_OS_NOT, 'Oracle Linux');
var release = get_kb_item("Host/RedHat/release");
if (isnull(release) || !pregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux)", string:release)) audit(AUDIT_OS_NOT, 'Oracle Linux');
var os_ver = pregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux) .*release ([0-9]+(\.[0-9]+)?)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'Oracle Linux');
var os_ver = os_ver[1];
if (! preg(pattern:"^7([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, 'Oracle Linux 7', 'Oracle Linux ' + os_ver);

if (!get_kb_item('Host/RedHat/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Oracle Linux', cpu);
if ('x86_64' >!< cpu) audit(AUDIT_ARCH_NOT, 'x86_64', cpu);

var machine_uptrack_level = get_one_kb_item('Host/uptrack-uname-r');
if (machine_uptrack_level)
{
  var trimmed_uptrack_level = ereg_replace(string:machine_uptrack_level, pattern:"\.(x86_64|i[3-6]86|aarch64)$", replace:'');
  var fixed_uptrack_levels = ['4.14.35-2047.512.6.el7'];
  foreach var fixed_uptrack_level ( fixed_uptrack_levels ) {
    if (rpm_spec_vers_cmp(a:trimmed_uptrack_level, b:fixed_uptrack_level) >= 0)
    {
      audit(AUDIT_PATCH_INSTALLED, 'KSplice hotfix for ELSA-2022-9314');
    }
  }
  __rpm_report = 'Running KSplice level of ' + trimmed_uptrack_level + ' does not meet the minimum fixed level of ' + join(fixed_uptrack_levels, sep:' / ') + ' for this advisory.\n\n';
}

var kernel_major_minor = get_kb_item('Host/uname/major_minor');
if (empty_or_null(kernel_major_minor)) exit(1, 'Unable to determine kernel major-minor level.');
var expected_kernel_major_minor = '4.14';
if (kernel_major_minor != expected_kernel_major_minor)
  audit(AUDIT_OS_NOT, 'running kernel level ' + expected_kernel_major_minor + ', it is running kernel level ' + kernel_major_minor);

var pkgs = [
    {'reference':'kernel-uek-container-4.14.35-2047.512.6.el7', 'cpu':'x86_64', 'release':'7', 'rpm_spec_vers_cmp':TRUE, 'exists_check':'kernel-uek-container-4.14.35'}
];

var flag = 0;
foreach var package_array ( pkgs ) {
  var reference = NULL;
  var release = NULL;
  var sp = NULL;
  var cpu = NULL;
  var el_string = NULL;
  var rpm_spec_vers_cmp = NULL;
  var epoch = NULL;
  var allowmaj = NULL;
  var exists_check = NULL;
  if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
  if (!empty_or_null(package_array['release'])) release = 'EL' + package_array['release'];
  if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
  if (!empty_or_null(package_array['cpu'])) cpu = package_array['cpu'];
  if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
  if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
  if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
  if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
  if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
  if (reference && release) {
    if (exists_check) {
        if (rpm_exists(release:release, rpm:exists_check) && rpm_check(release:release, sp:sp, cpu:cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj)) flag++;
    } else {
        if (rpm_check(release:release, sp:sp, cpu:cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj)) flag++;
    }
  }
}

if (flag)
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_HOLE,
      extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  var tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'kernel-uek-container');
}

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/oraclelinux_ELSA-2022-9314.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\oraclelinux_ELSA-2022-9314.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/oraclelinux_ELSA-2022-9314.nasl

Go back to menu.

How to Run


Here is how to run the Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314) as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Oracle Linux Local Security Checks plugin family.
  6. On the right side table select Oracle Linux 7 : Unbreakable Enterprise kernel-container (ELSA-2022-9314) plugin ID 160189.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl oraclelinux_ELSA-2022-9314.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a oraclelinux_ELSA-2022-9314.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - oraclelinux_ELSA-2022-9314.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state oraclelinux_ELSA-2022-9314.nasl -t <IP/HOST>

Go back to menu.

References


See also: Similar and related Nessus plugins:
  • 159811 - EulerOS 2.0 SP9 : kernel (EulerOS-SA-2022-1450)
  • 159815 - EulerOS 2.0 SP9 : kernel (EulerOS-SA-2022-1429)
  • 159840 - EulerOS Virtualization 2.10.1 : kernel (EulerOS-SA-2022-1376)
  • 159861 - EulerOS Virtualization 2.10.0 : kernel (EulerOS-SA-2022-1402)
  • 159884 - SUSE SLES15 Security Update : kernel (Live Patch 1 for SLE 15 SP3) (SUSE-SU-2022:1246-1)
  • 159901 - RHEL 8 : kernel-rt (RHSA-2022:1413)
  • 159908 - RHEL 6 : kernel (RHSA-2022:1417)
  • 159913 - RHEL 8 : kpatch-patch (RHSA-2022:1418)
  • 159931 - SUSE SLES15 Security Update : kernel (SUSE-SU-2022:1257-1)
  • 159938 - SUSE SLES12 Security Update : kernel (SUSE-SU-2022:1267-1)
  • 159987 - SUSE SLES12 Security Update : kernel (SUSE-SU-2022:1266-1)
  • 160026 - Ubuntu 20.04 LTS : Linux kernel (OEM) vulnerabilities (USN-5381-1)
  • 160027 - Ubuntu 20.04 LTS / 21.10 : Linux kernel vulnerabilities (USN-5383-1)
  • 160035 - EulerOS 2.0 SP10 : kernel (EulerOS-SA-2022-1475)
  • 160037 - RHEL 8 : kernel (RHSA-2022:1455)
  • 160060 - SUSE SLES12 Security Update : kernel (Live Patch 23 for SLE 12 SP5) (SUSE-SU-2022:1278-1)
  • 160118 - EulerOS 2.0 SP5 : kernel (EulerOS-SA-2022-1523)
  • 160190 - Oracle Linux 7 : Unbreakable Enterprise kernel (ELSA-2022-9313)
  • 160214 - Ubuntu 22.04 LTS : Linux kernel vulnerabilities (USN-5390-1)
  • 160222 - SUSE SLES15 Security Update : kernel (SUSE-SU-2022:1407-1)
  • 160223 - SUSE SLES12 Security Update : kernel (SUSE-SU-2022:1402-1)
  • 160241 - RHEL 8 : kernel (RHSA-2022:1589)
  • 160288 - RHEL 8 : kpatch-patch (RHSA-2022:1619)
  • 160422 - Amazon Linux 2 : kernel (ALASKERNEL-5.4-2022-024)
  • 160425 - Amazon Linux 2 : kernel (ALASKERNEL-5.10-2022-011)
  • 160428 - Amazon Linux 2 : kernel (ALASKERNEL-5.10-2022-010)
  • 160433 - Amazon Linux 2 : kernel (ALASKERNEL-5.10-2022-012)
  • 160452 - Amazon Linux 2 : kernel (ALASKERNEL-5.4-2022-022)
  • 160469 - Debian DSA-5127-1 : linux - security update
  • 160478 - Ubuntu 22.04 LTS : Linux kernel (Raspberry Pi) vulnerabilities (USN-5390-2)
  • 160495 - Oracle Linux 6 / 7 : Unbreakable Enterprise kernel (ELSA-2022-9348)
  • 160505 - OracleVM 3.4 : kernel-uek (OVMSA-2022-0014)
  • 160581 - EulerOS Virtualization 2.9.0 : kernel (EulerOS-SA-2022-1630)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file oraclelinux_ELSA-2022-9314.nasl version 1.3. For more plugins, visit the Nessus Plugin Library.

Go back to menu.