Vulnerabilities > CVE-2008-0984 - Resource Management Errors vulnerability in multiple products

047910
CVSS 9.3 - CRITICAL
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
miro
videolan
CWE-399
critical
nessus
exploit available

Summary

The MP4 demuxer (mp4.c) for VLC media player 0.8.6d and earlier, as used in Miro Player 1.1 and earlier, allows remote attackers to overwrite arbitrary memory and execute arbitrary code via a malformed MP4 file.

Vulnerable Configurations

Part Description Count
Application
Miro
1
Application
Videolan
59

Common Weakness Enumeration (CWE)

Exploit-Db

descriptionKantaris 0.3.4 SSA Subtitle Local Buffer Overflow Exploit. CVE-2007-6681,CVE-2008-0073,CVE-2008-0295,CVE-2008-0296,CVE-2008-0984,CVE-2008-1489,CVE-2008-1769....
idEDB-ID:5498
last seen2016-01-31
modified2008-04-25
published2008-04-25
reporterj0rgan
sourcehttps://www.exploit-db.com/download/5498/
titleKantaris 0.3.4 SSA Subtitle Local Buffer Overflow Exploit

Nessus

  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-200803-13.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-200803-13 (VLC: Multiple vulnerabilities) Multiple vulnerabilities were found in VLC: Michal Luczaj and Luigi Auriemma reported that VLC contains boundary errors when handling subtitles in the ParseMicroDvd(), ParseSSA(), and ParseVplayer() functions in the modules/demux/subtitle.c file, allowing for a stack-based buffer overflow (CVE-2007-6681). The web interface listening on port 8080/tcp contains a format string error in the httpd_FileCallBack() function in the network/httpd.c file (CVE-2007-6682). The browser plugin possibly contains an argument injection vulnerability (CVE-2007-6683). The RSTP module triggers a NULL pointer dereference when processing a request without a
    last seen2020-06-01
    modified2020-06-02
    plugin id31439
    published2008-03-13
    reporterThis script is Copyright (C) 2008-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/31439
    titleGLSA-200803-13 : VLC: Multiple vulnerabilities
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Gentoo Linux Security Advisory GLSA 200803-13.
    #
    # The advisory text is Copyright (C) 2001-2016 Gentoo Foundation, Inc.
    # and licensed under the Creative Commons - Attribution / Share Alike 
    # license. See http://creativecommons.org/licenses/by-sa/3.0/
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(31439);
      script_version("1.15");
      script_cvs_date("Date: 2019/08/02 13:32:44");
    
      script_cve_id("CVE-2007-6681", "CVE-2007-6682", "CVE-2007-6683", "CVE-2007-6684", "CVE-2008-0295", "CVE-2008-0296", "CVE-2008-0984");
      script_xref(name:"GLSA", value:"200803-13");
    
      script_name(english:"GLSA-200803-13 : VLC: Multiple vulnerabilities");
      script_summary(english:"Checks for updated package(s) in /var/db/pkg");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Gentoo host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The remote host is affected by the vulnerability described in GLSA-200803-13
    (VLC: Multiple vulnerabilities)
    
        Multiple vulnerabilities were found in VLC:
        Michal Luczaj
        and Luigi Auriemma reported that VLC contains boundary errors when
        handling subtitles in the ParseMicroDvd(), ParseSSA(), and
        ParseVplayer() functions in the modules/demux/subtitle.c file, allowing
        for a stack-based buffer overflow (CVE-2007-6681).
        The web
        interface listening on port 8080/tcp contains a format string error in
        the httpd_FileCallBack() function in the network/httpd.c file
        (CVE-2007-6682).
        The browser plugin possibly contains an
        argument injection vulnerability (CVE-2007-6683).
        The RSTP
        module triggers a NULL pointer dereference when processing a request
        without a 'Transport' parameter (CVE-2007-6684).
        Luigi
        Auriemma and Remi Denis-Courmont found a boundary error in the
        modules/access/rtsp/real_sdpplin.c file when processing SDP data for
        RTSP sessions (CVE-2008-0295) and a vulnerability in the
        libaccess_realrtsp plugin (CVE-2008-0296), possibly resulting in a
        heap-based buffer overflow.
        Felipe Manzano and Anibal Sacco
        (Core Security Technologies) discovered an arbitrary memory overwrite
        vulnerability in VLC's MPEG-4 file format parser (CVE-2008-0984).
      
    Impact :
    
        A remote attacker could send a long subtitle in a file that a user is
        enticed to open, a specially crafted MP4 input file, long SDP data, or
        a specially crafted HTTP request with a 'Connection' header value
        containing format specifiers, possibly resulting in the remote
        execution of arbitrary code. Also, a Denial of Service could be caused
        and arbitrary files could be overwritten via the 'demuxdump-file'
        option in a filename in a playlist or via an EXTVLCOPT statement in an
        MP3 file.
      
    Workaround :
    
        There is no known workaround at this time."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security.gentoo.org/glsa/200803-13"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "All VLC users should upgrade to the latest version:
        # emerge --sync
        # emerge --ask --oneshot --verbose '>=media-video/vlc-0.8.6e'"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploit_framework_core", value:"true");
      script_cwe_id(20, 119, 399);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:vlc");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2008/03/07");
      script_set_attribute(attribute:"plugin_publication_date", value:"2008/03/13");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2008-2019 Tenable Network Security, Inc.");
      script_family(english:"Gentoo Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("qpkg.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
    if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (qpkg_check(package:"media-video/vlc", unaffected:make_list("ge 0.8.6e"), vulnerable:make_list("lt 0.8.6e"))) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = qpkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "VLC");
    }
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-1543.NASL
    descriptionLuigi Auriemma, Alin Rad Pop, Remi Denis-Courmont, Quovodis, Guido Landi, Felipe Manzano, Anibal Sacco and others discovered multiple vulnerabilities in vlc, an application for playback and streaming of audio and video. In the worst case, these weaknesses permit a remote, unauthenticated attacker to execute arbitrary code with the privileges of the user running vlc. The Common Vulnerabilities and Exposures project identifies the following eight problems : - CVE-2007-6681 A buffer overflow vulnerability in subtitle handling allows an attacker to execute arbitrary code through the opening of a maliciously crafted MicroDVD, SSA or Vplayer file. - CVE-2007-6682 A format string vulnerability in the HTTP-based remote control facility of the vlc application allows a remote, unauthenticated attacker to execute arbitrary code. - CVE-2007-6683 Insecure argument validation allows a remote attacker to overwrite arbitrary files writable by the user running vlc, if a maliciously crafted M3U playlist or MP3 audio file is opened. - CVE-2008-0295, CVE-2008-0296 Heap buffer overflows in RTSP stream and session description protocol (SDP) handling allow an attacker to execute arbitrary code if a maliciously crafted RTSP stream is played. - CVE-2008-0073 Insufficient integer bounds checking in SDP handling allows the execution of arbitrary code through a maliciously crafted SDP stream ID parameter in an RTSP stream. - CVE-2008-0984 Insufficient integrity checking in the MP4 demuxer allows a remote attacker to overwrite arbitrary memory and execute arbitrary code if a maliciously crafted MP4 file is opened. - CVE-2008-1489 An integer overflow vulnerability in MP4 handling allows a remote attacker to cause a heap buffer overflow, inducing a crash and possibly the execution of arbitrary code if a maliciously crafted MP4 file is opened.
    last seen2020-06-01
    modified2020-06-02
    plugin id31949
    published2008-04-17
    reporterThis script is Copyright (C) 2008-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/31949
    titleDebian DSA-1543-1 : vlc - several vulnerabilities
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Debian Security Advisory DSA-1543. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(31949);
      script_version("1.18");
      script_cvs_date("Date: 2019/08/02 13:32:21");
    
      script_cve_id("CVE-2007-6681", "CVE-2007-6682", "CVE-2007-6683", "CVE-2008-0073", "CVE-2008-0295", "CVE-2008-0296", "CVE-2008-0984", "CVE-2008-1489");
      script_xref(name:"DSA", value:"1543");
    
      script_name(english:"Debian DSA-1543-1 : vlc - several vulnerabilities");
      script_summary(english:"Checks dpkg output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Luigi Auriemma, Alin Rad Pop, Remi Denis-Courmont, Quovodis, Guido
    Landi, Felipe Manzano, Anibal Sacco and others discovered multiple
    vulnerabilities in vlc, an application for playback and streaming of
    audio and video. In the worst case, these weaknesses permit a remote,
    unauthenticated attacker to execute arbitrary code with the privileges
    of the user running vlc.
    
    The Common Vulnerabilities and Exposures project identifies the
    following eight problems :
    
      - CVE-2007-6681
        A buffer overflow vulnerability in subtitle handling
        allows an attacker to execute arbitrary code through the
        opening of a maliciously crafted MicroDVD, SSA or
        Vplayer file.
    
      - CVE-2007-6682
        A format string vulnerability in the HTTP-based remote
        control facility of the vlc application allows a remote,
        unauthenticated attacker to execute arbitrary code.
    
      - CVE-2007-6683
        Insecure argument validation allows a remote attacker to
        overwrite arbitrary files writable by the user running
        vlc, if a maliciously crafted M3U playlist or MP3 audio
        file is opened.
    
      - CVE-2008-0295, CVE-2008-0296
        Heap buffer overflows in RTSP stream and session
        description protocol (SDP) handling allow an attacker to
        execute arbitrary code if a maliciously crafted RTSP
        stream is played.
    
      - CVE-2008-0073
        Insufficient integer bounds checking in SDP handling
        allows the execution of arbitrary code through a
        maliciously crafted SDP stream ID parameter in an RTSP
        stream.
    
      - CVE-2008-0984
        Insufficient integrity checking in the MP4 demuxer
        allows a remote attacker to overwrite arbitrary memory
        and execute arbitrary code if a maliciously crafted MP4
        file is opened.
    
      - CVE-2008-1489
        An integer overflow vulnerability in MP4 handling allows
        a remote attacker to cause a heap buffer overflow,
        inducing a crash and possibly the execution of arbitrary
        code if a maliciously crafted MP4 file is opened."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2007-6681"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2007-6682"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2007-6683"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2008-0295"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2008-0296"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2008-0073"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2008-0984"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2008-1489"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.debian.org/security/2008/dsa-1543"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the vlc packages.
    
    For the stable distribution (etch), these problems have been fixed in
    version 0.8.6-svn20061012.debian-5.1+etch2."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploit_framework_core", value:"true");
      script_cwe_id(119, 189, 399);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:vlc");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:4.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2008/04/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2008/04/17");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2008-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Debian Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("debian_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
    if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (deb_check(release:"4.0", prefix:"libvlc0", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"libvlc0-dev", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"mozilla-plugin-vlc", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-nox", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-alsa", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-arts", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-esd", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-ggi", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-glide", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-sdl", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"vlc-plugin-svgalib", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    if (deb_check(release:"4.0", prefix:"wxvlc", reference:"0.8.6-svn20061012.debian-5.1+etch2")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    

Packetstorm

data sourcehttps://packetstormsecurity.com/files/download/64099/CORE-2008-0130.txt
idPACKETSTORM:64099
last seen2016-12-05
published2008-02-27
reporterCore Security Technologies
sourcehttps://packetstormsecurity.com/files/64099/Core-Security-Technologies-Advisory-2008.0130.html
titleCore Security Technologies Advisory 2008.0130

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 28007 CVE(CAN) ID: CVE-2008-0984 VLC Media Player是一款免费的媒体播放器。 VLC媒体播放器的MPEG-4文件格式解析器(MP4 demuxer)在解析特制的MP4输入文件时存在任意内存覆盖漏洞,远程攻击者可能利用此漏洞控制用户系统。 以下demux/mp4/mp4.c文件中的漏洞代码使用用户提供的数据初始化堆数组的任意索引: /----------- 910 if( ( !(p_co64 = MP4_BoxGet( p_demux_track-&gt;p_stbl, &quot;stco&quot; ) )&amp;&amp; 911 !(p_co64 = MP4_BoxGet( p_demux_track-&gt;p_stbl, &quot;co64&quot; ) ) )|| 912 ( !(p_stsc = MP4_BoxGet( p_demux_track-&gt;p_stbl, &quot;stsc&quot; ) ) )) 913 { 914 return( VLC_EGENERIC ); 915 } .. .. 943 i_last = p_demux_track-&gt;i_chunk_count; /* last chunk proceded */ 944 i_index = p_stsc-&gt;data.p_stsc-&gt;i_entry_count; 945 if( !i_index ) 946 { 947 msg_Warn( p_demux, &quot;cannot read chunk table or table empty&quot; ); 948 return( VLC_EGENERIC ); 949 } 950 951 while( i_index-- ) 952 { 953 for( i_chunk = p_stsc-&gt;data.p_stsc-&gt;i_first_chunk[i_index] - 1; 954 i_chunk &lt; i_last; i_chunk++ ) 955 { 956 p_demux_track-&gt;chunk[i_chunk].i_sample_description_index = 957 p_stsc-&gt;data.p_stsc-&gt;i_sample_description_index[i_index]; 958 p_demux_track-&gt;chunk[i_chunk].i_sample_count = 959 p_stsc-&gt;data.p_stsc-&gt;i_samples_per_chunk[i_index]; 960 } 961 i_last = p_stsc-&gt;data.p_stsc-&gt;i_first_chunk[i_index] - 1; 962 } - -----------/ 在910/912行,MP4_BoxGet()函数从文件读取数据然后返回MP4_Box_t类型结构,i_chunk_count字段是用户可控的且未经正确的检查,之后在956和958行提供数组索引的语句中使用了这个值,填充堆缓冲区。由于未经任何检查便将用户控制的i_last用作了写操作的限制,因此可以向几乎任意内存地址写入任意值。 请注意在第一个迭代中i_last不是攻击者完全可控的,在961行获得了受控字段之一“p_stsc-&gt;data.p_stsc-&gt;i_first_chunk[i_index] - 1”。 这里所说的“几乎任意内存”是由于在每次赋值中用户都可以很大程度上控制i_sample_description_index和i_sample_count字段值,因此可以在每44个字节便写入8个连续的字节。 以下是结构定义: /----------- /* Contain all information about a chunk */ typedef struct { uint64_t i_offset; /* absolute position of this chunk in the file */ uint32_t i_sample_description_index; /* index for SampleEntry to use */ uint32_t i_sample_count; /* how many samples in this chunk */ uint32_t i_sample_first; /* index of the first sample in this chunk */ /* now provide way to calculate pts, dts, and offset without to much memory and with fast acces */ /* with this we can calculate dts/pts without waste memory */ uint64_t i_first_dts; uint32_t *p_sample_count_dts; uint32_t *p_sample_delta_dts; /* dts delta */ uint32_t *p_sample_count_pts; int32_t *p_sample_offset_pts; /* pts-dts */ /* TODO if needed add pts but quickly *add* support for edts and seeking */ } mp4_chunk_t; - -----------/ 这样攻击者就可以创建包含有特制stsc和co64元素的文件,导致几乎在任意地址写入任意值。 VideoLAN VLC Media Player &lt;= 0.8.6d 厂商补丁: VideoLAN -------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: <a href=http://www.videolan.org/patches/vlc-0.8.6-CORE-2008-0130.patch target=_blank>http://www.videolan.org/patches/vlc-0.8.6-CORE-2008-0130.patch</a>
idSSV:2964
last seen2017-11-19
modified2008-03-01
published2008-03-01
reporterRoot
sourcehttps://www.seebug.org/vuldb/ssvid-2964
titleVideoLAN VLC媒体播放器MP4 Demuxer远程代码执行漏洞