Vulnerability in Linux Kernel: copy_process()

Kernel Updated 02 Oct 2025

Summary

27/02/2022
N/A
No i
Unrated
Not published

GSD-2022-1000563: copy_process(): Move fd_install() out of sighand->siglock critical section. Affects Kernel versions >= 6fd2fe494b17bf2dec37b610d23a43a72b16923a, < bc8167d53b7cbed96d5c2274bd7b92c4c9af1105. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The Linux Kernel is a critical component of the Linux operating system, responsible for managing system resources and facilitating communication between hardware and software. It provides core functionalities such as process management, memory management, and device drivers. The copy_process() function is a key part of the kernel's process management mechanism, used to create a new process by duplicating an existing one. This vulnerability specifically affects the fd_install() function within the copy_process() function, which is responsible for installing file descriptors in the process's file table.

Vulnerability Detail

The vulnerability arises from the improper placement of the fd_install() function within the sighand->siglock critical section in the copy_process() function. This critical section is used to ensure the integrity of signal handling data structures during process creation. By moving the fd_install() function outside of this critical section, the vulnerability can be mitigated. The impact and attack plausibility of this vulnerability have not been proven yet. However, if exploited, it could potentially lead to unauthorized access to file descriptors or other security-related issues.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a workaround, users can apply the patch provided in the commit bc8167d53b7cbed96d5c2274bd7b92c4c9af1105 manually to their existing kernel source code. The patch modifies the copy_process() function to move the fd_install() function outside of the sighand->siglock critical section. Here is the code snippet for the patch:

-       spin_lock_irq(&sighand->siglock);
+       spin_lock(&sighand->siglock);
        fd_install(fd, file);
-       spin_unlock_irq(&sighand->siglock);
+       spin_unlock(&sighand->siglock);

Conclusion

In conclusion, the Linux Kernel is vulnerable to a security issue in the copy_process() function, specifically related to the placement of the fd_install() function within the sighand->siglock critical section. To mitigate this vulnerability, it is recommended to update the kernel to version v5.16.11 or later. Alternatively, users can manually apply the provided patch to their existing kernel source code. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

The Linux Kernel is the core component of the Linux operating system, responsible for managing system resources and facilitating communication between hardware and software.

The copy_process() function is a key part of the Linux Kernel's process management mechanism. It is used to create a new process by duplicating an existing one.

The fd_install() function is responsible for installing file descriptors in a process's file table. It is used during process creation to set up the necessary file descriptors for the new process.

A critical section is a portion of code that must be executed atomically, without interruption from concurrent threads or processes. It is used to protect shared data structures and ensure their integrity.

You can use Vulert's playground (https://vulert.com/scanner) to check if your application is affected by this vulnerability. Vulert monitors and alerts in real-time for open-source vulnerabilities in software, using just a manifest file like package-lock.json.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback