search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Linux kernel does not properly validate user input via sysctl for negative value

Vulnerability Note VU#698640

Original Release Date: 2001-07-18 | Last Revised: 2001-07-24

Overview

Unprivileged local users can exploit the sysctl Linux kernel program to gain privileged access.

Description

A program called sysctl in the Linux kernel allows a privileged local user to read or write runtime system settings. Unprivileged local users are also allowed to use sysctl to read many of these settings. The program takes as parameters a buffer location and length. The length parameter is declared as signed and, therefore, allows passing of negative values. According to Chris Evans, the discoverer of this vulnerability, "by specifying a negative buffer length, a user can read pretty arbitrary memory." This flaw allows attackers to read privileged Linux kernel memory and, ultimately, gain root access. Linux kernel version 2.2.18 or before are vulnerable to this flaw. Any Linux product that is dependent on this kernel is, therefore, vulnerable.

Impact

Unprivileged local users can read privileged kernel space addresses and, potentially, gain privileged (root) access.

Solution

Upgrade the Linux kernel to version 2.2.19 or later. The release notes for Linux 2.2.19 at http://www.linux.org.uk/VERSION/relnotes.2219.html describe the security fix. For users of specific Linux vendors, use the vendor-specific upgrades for convenience and consistency.

Vendor Information

698640
 

CVSS Metrics

Group Score Vector
Base
Temporal
Environmental

References

Acknowledgements

Thanks to Chris Evans for discovering this vulnerability.

This document was written by Andrew P. Moore.

Other Information

CVE IDs: CVE-2001-0316
Severity Metric: 9.22
Date Public: 2001-02-08
Date First Published: 2001-07-18
Date Last Updated: 2001-07-24 17:23 UTC
Document Revision: 22

Sponsored by CISA.