Every CVE Search/ Get API key

CVE-2022-47952

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer...

3.3 LowPublic exploitFix available

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.72%Down 0.9 points since Jan 1, 2023
90%50%10%1%

What each source reports

NVD Score used 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
CVE-2022-47952
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
CVE List 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
CVE-2022-47952
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
EUVDEUVD-2022-50682 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
EUVD-2022-50682
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-qv29-rjwj-jjrm 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer...

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
GHSA-qv29-rjwj-jjrm
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-203, CWE-668
Updated
2026-11-02
OSVALPINE-CVE-2022-47952 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
ALPINE-CVE-2022-47952
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-03
OSV 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
CVE-2022-47952
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2022-47952 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
DEBIAN-CVE-2022-47952
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-03
OSVOESA-2023-1075 3.3

lxc security update

Containers are insulated areas inside a system, which have their own namespace for filesystem, network, PID, IPC, CPU and memory allocation and which can be created using the Control Group and Namespace features included in the Linux kernel.

Security Fix(es):

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.(CVE-2022-47952)

Record
OESA-2023-1075
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVOESA-2023-1076 3.3

lxc security update

Containers are insulated areas inside a system, which have their own namespace for filesystem, network, PID, IPC, CPU and memory allocation and which can be created using the Control Group and Namespace features included in the Linux kernel.

Security Fix(es):

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.(CVE-2022-47952)

Record
OESA-2023-1076
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVOESA-2023-1077 3.3

lxc security update

Containers are insulated areas inside a system, which have their own namespace for filesystem, network, PID, IPC, CPU and memory allocation and which can be created using the Control Group and Namespace features included in the Linux kernel.

Security Fix(es):

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.(CVE-2022-47952)

Record
OESA-2023-1077
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2022-47952 3.3

lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may allow local users to infer whether any file exists, even within a protected directory tree, because "Failed to open" often indicates that a file does not exist, whereas "does not refer to a network namespace path" often indicates that a file exists. NOTE: this is different from CVE-2018-6556 because the CVE-2018-6556 fix design was based on the premise that "we will report back to the user that the open() failed but the user has no way of knowing why it failed"; however, in many realistic cases, there are no plausible reasons for failing except that the file does not exist.

Record
UBUNTU-CVE-2022-47952
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVopenSUSE-SU-2024:0342-1 No score

Security update for lxc

This update for lxc fixes the following issues:

lxc was updated to 6.0.2:

The LXC team is pleased to announce the release of LXC 6.0.2! This is the second bugfix release for LXC 6.0 which is supported until June 2029.

As usual this bugfix releases focus on stability and hardening.

  • Some of the highlights for this release are:

    • Reduced log level on some common messages
    • Fix compilation error on aarch64
  • Detailed changelog

    • Remove unused function
    • idmap: Lower logging level of newXidmap tools to INFO
    • Exit 0 when there's no error
    • doc: Fix definitions of get_config_path and set_config_path
    • README: Update security contact
    • fix possible clang compile error in AARCH

Update to 6.0.1:

The LXC team is pleased to announce the release of LXC 6.0.1! This is the first bugfix release for LXC 6.0 which is supported until June 2029.

As usual this bugfix releases focus on stability and hardening.

  • Highlights

    • Fixed some build tooling issues
    • Fixed startup failures on system without IPv6 support
    • Updated AppArmor rules to avoid potential warnings

Update to 6.0.0:

The LXC team is pleased to announce the release of LXC 6.0 LTS! This is the result of two years of work since the LXC 5.0 release and is the sixth LTS release for the LXC project. This release will be supported until June 2029.

  • New multi-call binary�

    A new tools-multicall=true configuration option can be used to produce a single lxc binary which can then have all other lxc-XYZ commands be symlinked to. This allows for a massive disk space reduction, particularly useful for embedded platforms.

  • Add a set_timeout function to the library

    A new set_timeout function is available on the main lxc_container struct and allow for setting a global timeout for interactions with the LXC monitor. Prior to this, there was no timeout, leading to potential deadlocks as there's also no way to cancel an monitor request. As a result of adding this new symbol to the library, we have bumped the liblxc symbol version to 1.8.0.

  • LXC bridge now has IPV6 enabled

    The default lxcbr0 bridge now comes with IPv6 enabled by default, using an IPv6 ULA subnet. Support for uid/gid selection in lxc-usernsexec The lxc-usernsexec tool now has both -u and -g options to control what resulting UID and GID (respectively) the user wishes to use (defaulting to 0/0).

  • Improvements to lxc-checkconfig

    lxc-checkconfig now only shows the version if lxc-start is present (rather than failing). Additionally, it's seen a number of other cosmetic improvements as well as now listing the maximum number of allowed namespaces for every namespace type.

  • Support for squashfs OCI images

    The built-in oci container template can now handle squashfs compressed OCI images through the use of atomfs.

  • Switched from systemd's dbus to dbus-1

    LXC now uses libdbus-1 for DBus interactions with systemd rather than using libsystemd. The reason for this change is that libdbus-1 is readily available for static builds.

  • Removed Upstart support

    Support for the Upstart init system has finally been removed from LXC. This shouldn't really affect anyone at this stage and allowed for cleaning up some logic and config files from our repository.

Record
openSUSE-SU-2024:0342-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:12935-1 No score

liblxc-devel-5.0.2-1.1 on GA media

These are all security issues fixed in the liblxc-devel-5.0.2-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:12935-1
Updated
2026-11-02
OSVUSN-8826-1 No score

lxc vulnerabilities

Maher Azzouzi discovered that LXC did not correctly handle logging certain failure messages. An attacker could possibly use this issue to leak sensitive information. This issue only affected Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. (CVE-2022-47952)

Sam Sanoop discovered that LXC did not correctly handle certain forms of user authorization. An attacker could possibly use this issue to cause a denial of service. (CVE-2026-39402)

Record
USN-8826-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
lxc
Alpine:v3.14
before 4.0.10-r2
4.0.10-r2
lxc
Alpine:v3.15
before 4.0.12-r2
4.0.12-r2
lxc
Alpine:v3.16
before 4.0.12-r2
4.0.12-r2
lxc
Alpine:v3.17
before 5.0.1-r2
5.0.1-r2
lxc
Alpine:v3.18
before 5.0.1-r2
5.0.1-r2
lxc
Alpine:v3.19
before 5.0.1-r2
5.0.1-r2
lxc
Alpine:v3.20
before 5.0.1-r2
5.0.1-r2
lxc
Alpine:v3.21
before 5.0.1-r2
5.0.1-r2
lxc
Alpine:v3.22
before 5.0.1-r2
5.0.1-r2
lxc
Alpine:v3.23
before 5.0.1-r2
5.0.1-r2
Show 23 moreShow less
Affected packages
PackageAffectedFixed
lxc
Alpine:v3.24
before 5.0.1-r2
5.0.1-r2
lxc
Debian:12
before 1:5.0.2-1
1:5.0.2-1
lxc
Debian:13
before 1:5.0.2-1
1:5.0.2-1
lxc
Debian:14
before 1:5.0.2-1
1:5.0.2-1
lxc
Debian:10
before 1:3.1.0+really3.0.3-8+deb10u1, plus listed versions
1:3.1.0+really3.0.3-8
1:3.1.0+really3.0.3-8+deb10u1
lxc
openEuler:20.03-LTS-SP3
before 4.0.3-2022102408.oe1
4.0.3-2022102408.oe1
lxc
openEuler:22.03-LTS
before 4.0.3-2022102408.oe2203
4.0.3-2022102408.oe2203
lxc
openEuler:22.03-LTS-SP1
before 4.0.3-2022102408.oe2203sp1
4.0.3-2022102408.oe2203sp1
lxc
Ubuntu:Pro:18.04:LTS
before 3.0.3-0ubuntu1~18.04.3+esm1, plus listed versions
2.1.0-0ubuntu12.1.1-0ubuntu13.0.0~beta1-0ubuntu33.0.0~beta2-0ubuntu23.0.0~beta3-0ubuntu1
Show 8 moreShow less
3.0.0~beta4-0ubuntu13.0.0-0ubuntu13.0.0-0ubuntu23.0.1-0ubuntu1~18.04.13.0.1-0ubuntu1~18.04.23.0.2-0ubuntu1~18.04.13.0.3-0ubuntu1~18.04.13.0.3-0ubuntu1~18.04.3
3.0.3-0ubuntu1~18.04.3+esm1
lxc
Ubuntu:Pro:20.04:LTS
before 1:4.0.12-0ubuntu1~20.04.1+esm1, plus listed versions
3.0.4-0ubuntu13.0.4-0ubuntu21:4.0.0-0ubuntu21:4.0.1-0ubuntu11:4.0.1-0ubuntu21:4.0.2-0ubuntu11:4.0.6-0ubuntu1~20.04.11:4.0.12-0ubuntu1~20.04.1
1:4.0.12-0ubuntu1~20.04.1+esm1
lxc
Ubuntu:Pro:22.04:LTS
before 1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1, plus listed versions
1:4.0.10-0ubuntu51:4.0.12-0ubuntu11:4.0.12-0ubuntu21:5.0.0~git2209-g5a7b9ce67-0ubuntu11:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1
1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1
lxc
Ubuntu:Pro:24.04:LTS
before 1:5.0.3-2ubuntu7.3+esm1, plus listed versions
1:5.0.1-0ubuntu71:5.0.1-0ubuntu81:5.0.3-2ubuntu51:5.0.3-2ubuntu71:5.0.3-2ubuntu7.11:5.0.3-2ubuntu7.21:5.0.3-2ubuntu7.3
1:5.0.3-2ubuntu7.3+esm1
lxc
Ubuntu:Pro:16.04:LTS
From an advisory covering 2 CVEs
before 2.0.11-0ubuntu1~16.04.3+esm1, plus listed versions
1.1.4-0ubuntu11.1.4-0ubuntu1.11.1.4-0ubuntu31.1.5-0ubuntu11.1.5-0ubuntu2
Show 34 moreShow less
1.1.5-0ubuntu31.1.5-0ubuntu41.1.5-0ubuntu51.1.5-0ubuntu62.0.0~beta2-0ubuntu22.0.0~rc1-0ubuntu12.0.0~rc2-0ubuntu22.0.0~rc3-0ubuntu12.0.0~rc3-0ubuntu22.0.0~rc3-0ubuntu32.0.0~rc4-0ubuntu12.0.0~rc5-0ubuntu12.0.0~rc9-0ubuntu12.0.0~rc10-0ubuntu12.0.0~rc10-0ubuntu22.0.0~rc11-0ubuntu12.0.0~rc12-0ubuntu12.0.0~rc13-0ubuntu22.0.0~rc14-0ubuntu22.0.0~rc15-0ubuntu12.0.0-0ubuntu12.0.0-0ubuntu22.0.1-0ubuntu1~16.04.12.0.3-0ubuntu1~ubuntu16.04.12.0.4-0ubuntu1~ubuntu16.04.22.0.5-0ubuntu1~ubuntu16.04.12.0.5-0ubuntu1~ubuntu16.04.22.0.5-0ubuntu1~ubuntu16.04.32.0.6-0ubuntu1~ubuntu16.04.12.0.6-0ubuntu1~ubuntu16.04.22.0.7-0ubuntu1~16.04.12.0.7-0ubuntu1~16.04.22.0.8-0ubuntu1~16.04.22.0.11-0ubuntu1~16.04.3
2.0.11-0ubuntu1~16.04.3+esm1
lxc
Ubuntu:Pro:18.04:LTS
From an advisory covering 2 CVEs
before 3.0.3-0ubuntu1~18.04.3+esm1, plus listed versions
2.1.0-0ubuntu12.1.1-0ubuntu13.0.0~beta1-0ubuntu33.0.0~beta2-0ubuntu23.0.0~beta3-0ubuntu1
Show 8 moreShow less
3.0.0~beta4-0ubuntu13.0.0-0ubuntu13.0.0-0ubuntu23.0.1-0ubuntu1~18.04.13.0.1-0ubuntu1~18.04.23.0.2-0ubuntu1~18.04.13.0.3-0ubuntu1~18.04.13.0.3-0ubuntu1~18.04.3
3.0.3-0ubuntu1~18.04.3+esm1
lxc
Ubuntu:Pro:20.04:LTS
From an advisory covering 2 CVEs
before 1:4.0.12-0ubuntu1~20.04.1+esm1, plus listed versions
3.0.4-0ubuntu13.0.4-0ubuntu21:4.0.0-0ubuntu21:4.0.1-0ubuntu11:4.0.1-0ubuntu21:4.0.2-0ubuntu11:4.0.6-0ubuntu1~20.04.11:4.0.12-0ubuntu1~20.04.1
1:4.0.12-0ubuntu1~20.04.1+esm1
lxc
Ubuntu:Pro:22.04:LTS
From an advisory covering 2 CVEs
before 1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1, plus listed versions
1:4.0.10-0ubuntu51:4.0.12-0ubuntu11:4.0.12-0ubuntu21:5.0.0~git2209-g5a7b9ce67-0ubuntu11:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1
1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1
lxc
Ubuntu:Pro:24.04:LTS
From an advisory covering 2 CVEs
before 1:5.0.3-2ubuntu7.3+esm1, plus listed versions
1:5.0.1-0ubuntu71:5.0.1-0ubuntu81:5.0.3-2ubuntu51:5.0.3-2ubuntu71:5.0.3-2ubuntu7.11:5.0.3-2ubuntu7.21:5.0.3-2ubuntu7.3
1:5.0.3-2ubuntu7.3+esm1
lxc
Ubuntu:Pro:26.04:LTS
From an advisory covering 2 CVEs
before 1:6.0.6-1ubuntu1+esm1, plus listed versions
1:6.0.4-4ubuntu11:6.0.6-11:6.0.6-1ubuntu1
1:6.0.6-1ubuntu1+esm1
lxc
SUSE:Package Hub 15 SP5
before 6.0.2-bp156.2.3.1
6.0.2-bp156.2.3.1
lxc
SUSE:Package Hub 15 SP6
before 6.0.2-bp156.2.3.1
6.0.2-bp156.2.3.1
lxc
openSUSE:Leap 15.5
before 6.0.2-bp156.2.3.1
6.0.2-bp156.2.3.1
lxc
openSUSE:Leap 15.6
before 6.0.2-bp156.2.3.1
6.0.2-bp156.2.3.1
lxc
openSUSE:Tumbleweed
before 5.0.2-1.1
5.0.2-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubMaherAzzouzi/CVE-2022-479522022-12-31

History

History
RecordedChangedSources
affected, factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2022-47952 is a low vulnerability (CVSS 3.3) in Linuxcontainers Lxc, published January 1, 2023. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.72%, the 54th percentile. Fixed in lxc 4.0.10-r2.

References

Show 15 moreShow less
MoveEnter Open