ID CVE-2004-0416
Summary Double free vulnerability for the error_prog_name string in CVS 1.12.x through 1.12.8, and 1.11.x through 1.11.16, may allow remote attackers to execute arbitrary code.
References
Vulnerable Configurations
  • cpe:2.3:a:cvs:cvs:1.10.7
    cpe:2.3:a:cvs:cvs:1.10.7
  • cpe:2.3:a:cvs:cvs:1.10.8
    cpe:2.3:a:cvs:cvs:1.10.8
  • cpe:2.3:a:cvs:cvs:1.11
    cpe:2.3:a:cvs:cvs:1.11
  • cpe:2.3:a:cvs:cvs:1.11.1
    cpe:2.3:a:cvs:cvs:1.11.1
  • cpe:2.3:a:cvs:cvs:1.11.1_p1
    cpe:2.3:a:cvs:cvs:1.11.1_p1
  • cpe:2.3:a:cvs:cvs:1.11.2
    cpe:2.3:a:cvs:cvs:1.11.2
  • cpe:2.3:a:cvs:cvs:1.11.3
    cpe:2.3:a:cvs:cvs:1.11.3
  • cpe:2.3:a:cvs:cvs:1.11.4
    cpe:2.3:a:cvs:cvs:1.11.4
  • cpe:2.3:a:cvs:cvs:1.11.5
    cpe:2.3:a:cvs:cvs:1.11.5
  • cpe:2.3:a:cvs:cvs:1.11.6
    cpe:2.3:a:cvs:cvs:1.11.6
  • cpe:2.3:a:cvs:cvs:1.11.10
    cpe:2.3:a:cvs:cvs:1.11.10
  • cpe:2.3:a:cvs:cvs:1.11.11
    cpe:2.3:a:cvs:cvs:1.11.11
  • cpe:2.3:a:cvs:cvs:1.11.14
    cpe:2.3:a:cvs:cvs:1.11.14
  • cpe:2.3:a:cvs:cvs:1.11.15
    cpe:2.3:a:cvs:cvs:1.11.15
  • cpe:2.3:a:cvs:cvs:1.11.16
    cpe:2.3:a:cvs:cvs:1.11.16
  • cpe:2.3:a:cvs:cvs:1.12.1
    cpe:2.3:a:cvs:cvs:1.12.1
  • cpe:2.3:a:cvs:cvs:1.12.2
    cpe:2.3:a:cvs:cvs:1.12.2
  • cpe:2.3:a:cvs:cvs:1.12.5
    cpe:2.3:a:cvs:cvs:1.12.5
  • cpe:2.3:a:cvs:cvs:1.12.7
    cpe:2.3:a:cvs:cvs:1.12.7
  • cpe:2.3:a:cvs:cvs:1.12.8
    cpe:2.3:a:cvs:cvs:1.12.8
  • OpenPKG
    cpe:2.3:a:openpkg:openpkg
  • OpenPKG 1.3
    cpe:2.3:a:openpkg:openpkg:1.3
  • OpenPKG 2.0
    cpe:2.3:a:openpkg:openpkg:2.0
  • SGI ProPack 2.4
    cpe:2.3:a:sgi:propack:2.4
  • SGI ProPack 3.0
    cpe:2.3:a:sgi:propack:3.0
  • Gentoo Linux 1.4
    cpe:2.3:o:gentoo:linux:1.4
  • OpenBSD
    cpe:2.3:o:openbsd:openbsd
  • OpenBSD 3.4
    cpe:2.3:o:openbsd:openbsd:3.4
  • OpenBSD 3.5
    cpe:2.3:o:openbsd:openbsd:3.5
CVSS
Base: 10.0 (as of 01-01-2004 - 00:00)
Impact:
Exploitability:
CWE CWE-119
CAPEC
  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.
  • Overflow Binary Resource File
    An attack of this type exploits a buffer overflow vulnerability in the handling of binary resources. Binary resources may include music files like MP3, image files like JPEG files, and any other binary file. These attacks may pass unnoticed to the client machine through normal usage of files, such as a browser loading a seemingly innocent JPEG file. This can allow the attacker access to the execution stack and execute arbitrary code in the target process. This attack pattern is a variant of standard buffer overflow attacks using an unexpected vector (binary files) to wrap its attack and open up a new attack vector. The attacker is required to either directly serve the binary content to the victim, or place it in a locale like a MP3 sharing application, for the victim to download. The attacker then is notified upon the download or otherwise locates the vulnerability opened up by the buffer overflow.
  • Buffer Overflow via Symbolic Links
    This type of attack leverages the use of symbolic links to cause buffer overflows. An attacker can try to create or manipulate a symbolic link file such that its contents result in out of bounds data. When the target software processes the symbolic link file, it could potentially overflow internal buffers with insufficient bounds checking.
  • Overflow Variables and Tags
    This type of attack leverages the use of tags or variables from a formatted configuration data to cause buffer overflow. The attacker crafts a malicious HTML page or configuration file that includes oversized strings, thus causing an overflow.
  • Buffer Overflow via Parameter Expansion
    In this attack, the target software is given input that the attacker knows will be modified and expanded in size during processing. This attack relies on the target software failing to anticipate that the expanded data may exceed some internal limit, thereby creating a buffer overflow.
  • Buffer Overflow in an API Call
    This attack targets libraries or shared code modules which are vulnerable to buffer overflow attacks. An attacker who has access to an API may try to embed malicious code in the API function call and exploit a buffer overflow vulnerability in the function's implementation. All clients that make use of the code library thus become vulnerable by association. This has a very broad effect on security across a system, usually affecting more than one software process.
  • Buffer Overflow in Local Command-Line Utilities
    This attack targets command-line utilities available in a number of shells. An attacker can leverage a vulnerability found in a command-line utility to escalate privilege to root.
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
COMPLETE COMPLETE COMPLETE
exploit-db via4
description Remote CVS. CVE-2004-0416. Remote exploit for linux platform
id EDB-ID:392
last seen 2016-01-31
modified 2004-08-13
published 2004-08-13
reporter Gyan Chawdhary
source https://www.exploit-db.com/download/392/
title Remote CVS <= 1.11.15 error_prog_name Remote Exploit
nessus via4
  • NASL family FreeBSD Local Security Checks
    NASL id FREEBSD_CVS_11117.NASL
    description The following package needs to be updated: FreeBSD
    last seen 2016-09-26
    modified 2011-10-02
    plugin id 14282
    published 2004-08-17
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=14282
    title FreeBSD : cvs -- numerous vulnerabilities (29)
  • NASL family Slackware Local Security Checks
    NASL id SLACKWARE_SSA_2004-161-01.NASL
    description New cvs packages that have been upgraded to cvs-1.11.17 are available for Slackware 8.1, 9.0, 9.1, and -current to fix various security issues. Sites running a CVS server should upgrade to the new CVS package right away.
    last seen 2019-02-21
    modified 2018-08-09
    plugin id 18779
    published 2005-07-13
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=18779
    title Slackware 8.1 / 9.0 / 9.1 / current : cvs (SSA:2004-161-01)
  • NASL family Debian Local Security Checks
    NASL id DEBIAN_DSA-519.NASL
    description Sebastian Krahmer and Stefan Esser discovered several vulnerabilities in the CVS server, which serves the popular Concurrent Versions System. The Common Vulnerabilities and Exposures project identifies the following problems : - CAN-2004-0416: double-free() in error_prog_name - CAN-2004-0417: argument integer overflow - CAN-2004-0418: out of bound writes in serve_notify()
    last seen 2019-02-21
    modified 2018-07-20
    plugin id 15356
    published 2004-09-29
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=15356
    title Debian DSA-519-1 : cvs - several vulnerabilities
  • NASL family Gentoo Local Security Checks
    NASL id GENTOO_GLSA-200406-06.NASL
    description The remote host is affected by the vulnerability described in GLSA-200406-06 (CVS: additional DoS and arbitrary code execution vulnerabilities) A team audit of the CVS source code performed by Stefan Esser and Sebastian Krahmer resulted in the discovery of several remotely exploitable vulnerabilities including: no-null-termination of 'Entry' lines error_prog_name 'double-free()' Argument integer overflow serve_notify() out of bounds writes Impact : An attacker could use these vulnerabilities to cause a Denial of Service or execute arbitrary code with the permissions of the user running cvs. Workaround : There is no known workaround at this time. All users are advised to upgrade to the latest available version of CVS.
    last seen 2019-02-21
    modified 2018-08-10
    plugin id 14517
    published 2004-08-30
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=14517
    title GLSA-200406-06 : CVS: additional DoS and arbitrary code execution vulnerabilities
  • NASL family FreeBSD Local Security Checks
    NASL id FREEBSD_CVS_NUMEROUS_VULNS.NASL
    description The remote host is running a version of FreeBSD which contains a version of the 'cvs' utility containing several issues : - An insufficient input validation while processing 'Entry' lines - A double-free issue - An integer overflow when processing 'Max-dotdot' commands - A format string bug when processing cvs wrappers - A single-byte buffer overflow when processing configuration files - Various other integers overflows
    last seen 2016-09-26
    modified 2011-10-02
    plugin id 14812
    published 2004-09-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=14812
    title FreeBSD : SA-04:14.cvs
  • NASL family SuSE Local Security Checks
    NASL id SUSE_SA_2004_015.NASL
    description The remote host is missing the patch for the advisory SuSE-SA:2004:015 (cvs). The Concurrent Versions System (CVS) offers tools which allow developers to share and maintain large software projects. Various remotely exploitable conditions have been found during a source code review of CVS done by Stefan Esser and Sebastian Krahmer (SuSE Security-Team). These bugs allow remote attackers to execute arbitrary code as the user the CVS server runs as. Since there is no easy workaround we strongly recommend to update the cvs package. The update packages fix vulnerabilities which have been assigned the CAN numbers CVE-2004-0416, CVE-2004-0417 and CVE-2004-0418. The cvs packages shipped by SUSE (as well as our recent updates for CVS) are not vulnerable to CVE-2004-0414. Please download the update package for your distribution and verify its integrity by the methods listed in section 3) of this announcement. Then, install the package using the command 'rpm -Fhv file.rpm' to apply the update.
    last seen 2019-02-21
    modified 2018-06-29
    plugin id 13831
    published 2004-07-25
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=13831
    title SuSE-SA:2004:015: cvs
  • NASL family Red Hat Local Security Checks
    NASL id REDHAT-RHSA-2004-233.NASL
    description An updated cvs package that fixes several server vulnerabilities, which could be exploited by a malicious client, is now available. CVS is a version control system frequently used to manage source code repositories. While investigating a previously fixed vulnerability, Derek Price discovered a flaw relating to malformed 'Entry' lines which lead to a missing NULL terminator. The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2004-0414 to this issue. Stefan Esser and Sebastian Krahmer conducted an audit of CVS and fixed a number of issues that may have had security consequences. Among the issues deemed likely to be exploitable were : -- a double-free relating to the error_prog_name string (CVE-2004-0416) -- an argument integer overflow (CVE-2004-0417) -- out-of-bounds writes in serv_notify (CVE-2004-0418). An attacker who has access to a CVS server may be able to execute arbitrary code under the UID on which the CVS server is executing. Users of CVS are advised to upgrade to this updated package, which contains backported patches correcting these issues. Red Hat would like to thank Stefan Esser, Sebastian Krahmer, and Derek Price for auditing, disclosing, and providing patches for these issues.
    last seen 2019-02-21
    modified 2018-11-15
    plugin id 12500
    published 2004-07-06
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=12500
    title RHEL 2.1 / 3 : cvs (RHSA-2004:233)
  • NASL family FreeBSD Local Security Checks
    NASL id FREEBSD_PKG_D2102505F03D11D881B0000347A4FA7D.NASL
    description A number of vulnerabilities were discovered in CVS by Stefan Esser, Sebastian Krahmer, and Derek Price. - Insufficient input validation while processing 'Entry' lines. (CVE-2004-0414) - A double-free resulting from erroneous state handling while processing 'Argumentx' commands. (CVE-2004-0416) - Integer overflow while processing 'Max-dotdot' commands. (CVE-2004-0417) - Erroneous handling of empty entries handled while processing 'Notify' commands. (CVE-2004-0418) - A format string bug while processing CVS wrappers. - Single-byte buffer underflows while processing configuration files from CVSROOT. - Various other integer overflows. Additionally, iDEFENSE reports an undocumented command-line flag used in debugging does not perform input validation on the given path names. CVS servers ('cvs server' or :pserver: modes) are affected by these vulnerabilities. They vary in impact but include information disclosure (the iDEFENSE-reported bug), denial-of-service (CVE-2004-0414, CVE-2004-0416, CVE-2004-0417 and other bugs), or possibly arbitrary code execution (CVE-2004-0418). In very special situations where the attacker may somehow influence the contents of CVS configuration files in CVSROOT, additional attacks may be possible.
    last seen 2019-02-21
    modified 2018-11-10
    plugin id 37427
    published 2009-04-23
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=37427
    title FreeBSD : cvs -- numerous vulnerabilities (d2102505-f03d-11d8-81b0-000347a4fa7d)
  • NASL family Misc.
    NASL id CVS_MALFORMED_ENTRY_LINES_FLAW.NASL
    description The remote CVS server, according to its version number, might allow an attacker to execute arbitrary commands on the remote system because of a flaw relating to malformed Entry lines which lead to a missing NULL terminator. Among the issues deemed likely to be exploitable were: - A double-free relating to the error_prog_name string. (CVE-2004-0416) - An argument integer overflow. (CVE-2004-0417) - Out-of-bounds writes in serv_notify. (CVE-2004-0418)
    last seen 2019-02-21
    modified 2018-11-15
    plugin id 12265
    published 2004-06-09
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=12265
    title CVS < 1.11.17 / 1.12.9 Multiple Vulnerabilities
  • NASL family Debian Local Security Checks
    NASL id DEBIAN_DSA-517.NASL
    description Derek Robert Price discovered a potential buffer overflow vulnerability in the CVS server, based on a malformed Entry, which serves the popular Concurrent Versions System.
    last seen 2019-02-21
    modified 2018-07-20
    plugin id 15354
    published 2004-09-29
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=15354
    title Debian DSA-517-1 : cvs - buffer overflow
  • NASL family Mandriva Local Security Checks
    NASL id MANDRAKE_MDKSA-2004-058.NASL
    description Another vulnerability was discovered related to 'Entry' lines in cvs, by the development team (CVE-2004-0414). As well, Stefan Esser and Sebastian Krahmer performed an audit on the cvs source code and discovered a number of other problems, including : A double-free condition in the server code is exploitable (CVE-2004-0416). By sending a large number of arguments to the CVS server, it is possible to cause it to allocate a huge amount of memory which does not fit into the address space, causing an error (CVE-2004-0417). It was found that the serve_notify() function would write data out of bounds (CVE-2004-0418). The provided packages update cvs to 1.11.16 and include patches to correct all of these problems.
    last seen 2019-02-21
    modified 2018-07-19
    plugin id 14157
    published 2004-07-31
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=14157
    title Mandrake Linux Security Advisory : cvs (MDKSA-2004:058)
oval via4
  • accepted 2013-04-29T04:01:11.841-04:00
    class vulnerability
    contributors
    • name Aharon Chernin
      organization SCAP.com, LLC
    • name Dragos Prisaca
      organization G2, Inc.
    definition_extensions
    • comment The operating system installed on the system is Red Hat Enterprise Linux 3
      oval oval:org.mitre.oval:def:11782
    • comment CentOS Linux 3.x
      oval oval:org.mitre.oval:def:16651
    description Double free vulnerability for the error_prog_name string in CVS 1.12.x through 1.12.8, and 1.11.x through 1.11.16, may allow remote attackers to execute arbitrary code.
    family unix
    id oval:org.mitre.oval:def:10070
    status accepted
    submitted 2010-07-09T03:56:16-04:00
    title Double free vulnerability for the error_prog_name string in CVS 1.12.x through 1.12.8, and 1.11.x through 1.11.16, may allow remote attackers to execute arbitrary code.
    version 24
  • accepted 2004-08-04T12:00:00.000-04:00
    class vulnerability
    contributors
    name Jay Beale
    organization Bastille Linux
    description Double free vulnerability for the error_prog_name string in CVS 1.12.x through 1.12.8, and 1.11.x through 1.11.16, may allow remote attackers to execute arbitrary code.
    family unix
    id oval:org.mitre.oval:def:994
    status accepted
    submitted 2004-06-29T12:00:00.000-04:00
    title CVS error_prog_name Double-free Vulnerability
    version 4
redhat via4
advisories
rhsa
id RHSA-2004:233
refmap via4
bugtraq 20040611 [OpenPKG-SA-2004.027] OpenPKG Security Advisory (cvs)
debian DSA-519
fulldisc 20040609 Advisory 09/2004: More CVS remote vulnerabilities
gentoo GLSA-200406-06
mandrake MDKSA-2004:058
misc http://security.e-matters.de/advisories/092004.html
sgi
  • 20040604-01-U
  • 20040605-01-U
suse SuSE-SA:2004:015
Last major update 17-10-2016 - 22:45
Published 06-08-2004 - 00:00
Last modified 02-05-2018 - 21:29
Back to Top