Vulnerabilities > CVE-2012-5679 - Improper Restriction of Operations Within the Bounds of A Memory Buffer vulnerability in Adobe Camera RAW

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
network
low complexity
adobe
CWE-119
nessus

Summary

Buffer underflow in Adobe Photoshop Camera Raw before 7.3 allows attackers to execute arbitrary code via unspecified vectors.

Common Attack Pattern Enumeration and Classification (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.

Nessus

  • NASL familyWindows
    NASL idADOBE_CAMERA_RAW_APSB12-28.NASL
    descriptionThe version of the Adobe Camera Raw plug-in installed on the remote host is affected by the following vulnerabilities : - A flaw exists when processing an LZW compressed TIFF image that can be exploited to cause a heap-based buffer underflow via a specially crafted LZW code within an image row strip. (CVE-2012-5679) - An integer overflow error exists when allocating memory during TIFF image processing that can be exploited to cause a heap-based buffer overflow via specially crafted image dimensions. (CVE-2012-5680) These vulnerabilities can be exploited by tricking a user into opening a specially crafted file and could allow an attacker to execute arbitrary code.
    last seen2020-06-01
    modified2020-06-02
    plugin id63300
    published2012-12-19
    reporterThis script is Copyright (C) 2012-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/63300
    titleAdobe Camera Raw Plug-In Multiple Vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(63300);
      script_version("1.8");
      script_cvs_date("Date: 2019/12/04");
    
      script_cve_id("CVE-2012-5679", "CVE-2012-5680");
      script_bugtraq_id(56922, 56924);
      script_xref(name:"Secunia", value:"49929");
    
      script_name(english:"Adobe Camera Raw Plug-In Multiple Vulnerabilities");
      script_summary(english:"Checks version of plug-in");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote host has a software plug-in installed that is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of the Adobe Camera Raw plug-in installed on the remote
    host is affected by the following vulnerabilities :
    
      - A flaw exists when processing an LZW compressed TIFF
        image that can be exploited to cause a heap-based buffer
        underflow via a specially crafted LZW code within an
        image row strip. (CVE-2012-5679)
    
      - An integer overflow error exists when allocating memory
        during TIFF image processing that can be exploited to
        cause a heap-based buffer overflow via specially crafted
        image dimensions. (CVE-2012-5680)
    
    These vulnerabilities can be exploited by tricking a user into opening
    a specially crafted file and could allow an attacker to execute
    arbitrary code.");
      script_set_attribute(attribute:"see_also", value:"http://secunia.com/secunia_research/2012-31/");
      script_set_attribute(attribute:"see_also", value:"http://www.adobe.com/support/security/bulletins/apsb12-28.html");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Camera Raw Plug-In 6.7.1 / 7.3 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2012-5680");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2012/12/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2012/12/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2012/12/19");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:bridge");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:photoshop");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:camera_raw");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows");
    
      script_copyright(english:"This script is Copyright (C) 2012-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("smb_hotfixes.nasl");
      script_require_keys("SMB/Registry/Enumerated");
      script_require_ports(139, 445);
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_func.inc");
    include("smb_hotfixes.inc");
    include("smb_hotfixes_fcheck.inc"); # for hotfix_path2share
    include("misc_func.inc");
    
    get_kb_item_or_exit("SMB/Registry/Enumerated");
    
    appname = 'Adobe Camera Raw Plug-In';
    report = '';
    
    vuln_files = 0;
    plugin_found = FALSE;
    
    cf_dir = hotfix_get_commonfilesdirx86();
    if (!cf_dir) cf_dir = hotfix_get_commonfilesdir();
    if (isnull(cf_dir) || !cf_dir) exit(1, 'Unable to obtain common program files directory.');
    
    share = hotfix_path2share(path:cf_dir);
    
    # Connect to the appropriate share.
    name    =  kb_smb_name();
    port    =  kb_smb_transport();
    #if (!get_port_state(port)) audit(AUDIT_PORT_CLOSED, port);
    login   =  kb_smb_login();
    pass    =  kb_smb_password();
    domain  =  kb_smb_domain();
    
    #soc = open_sock_tcp(port);
    #if (!soc) audit(AUDIT_SOCK_FAIL, port);
    
    #session_init(socket:soc, hostname:name);
    
    if(!smb_session_init()) audit(AUDIT_FN_FAIL, 'smb_session_init');
    
    
    rc = NetUseAdd(login:login, password:pass, domain:domain, share:share);
    if (rc != 1)
    {
      NetUseDel();
      audit(AUDIT_SHARE_FAIL, share);
    }
    
    dirpat = ereg_replace(pattern:'^[A-Za-z]:(.*)', replace:"\1\Adobe\Plug-Ins\*", string:cf_dir);
    
    plugin_name = 'Camera Raw.8bi';
    
    # Search all Adobe products installed to see if they have Adobe Camera Raw Plug-In Installed
    retx = FindFirstFile(pattern:dirpat);
    while (!isnull(retx[1]))
    {
      if ((retx[2] & FILE_ATTRIBUTE_DIRECTORY) && retx[1] != '.' && retx[1] != '..' &&
          retx[1] =~ "CS[56]")
      {
        plugins_dir = '\\Adobe\\Plug-Ins\\' + retx[1] + '\\File Formats\\';
        plugin_path = ereg_replace(pattern:"^[A-Za-z]:(.*)", string:cf_dir, replace:"\1" + plugins_dir + plugin_name);
        plugin_path_raw = cf_dir + plugins_dir + plugin_name;
    
        handle = CreateFile(file:plugin_path, desired_access:GENERIC_READ, file_attributes:FILE_ATTRIBUTE_NORMAL, share_mode:FILE_SHARE_READ, create_disposition:OPEN_EXISTING);
        if (!isnull(handle))
        {
          v = GetFileVersion(handle:handle);
          CloseFile(handle:handle);
          if (!isnull(v))
          {
            version = join(sep:'.', v);
            plugin_found = TRUE;
    
            fix = '';
    
            if (version =~ "^6(\.|$)" && ver_compare(ver:version, fix:"6.7.1", strict:FALSE) == -1)
              fix = "6.7.1";
            else if (version =~ "^7(\.|$)" && ver_compare(ver:version, fix:"7.3", strict:FALSE) == -1)
              fix = "7.3";
    
            if (fix != '')
            {
               report += '\n  Path              : ' + plugin_path_raw +
                         '\n  Installed version : ' + version +
                         '\n  Fixed version     : ' + fix + '\n';
               vuln_files++;
               if (!thorough_tests) break;
            }
          }
        }
      }
      retx = FindNextFile(handle:retx);
    }
    
    NetUseDel();
    
    if (report == '')
    {
      if (plugin_found) audit(AUDIT_INST_VER_NOT_VULN, appname);
      else audit(AUDIT_NOT_INST, appname);
    }
    
    if (vuln_files > 1)
      report = '\nThe following vulnerable Adobe plug-ins were found :\n' + report;
    else
      report = '\nThe following vulnerable Adobe plug-in was found :\n' + report;
    
    if (report_verbosity > 0) security_hole(port:port, extra:report);
    else security_hole(port);
    
  • NASL familyMacOS X Local Security Checks
    NASL idMACOSX_ADOBE_CAMERA_RAW_APSB12-28.NASL
    descriptionThe version of the Adobe Camera Raw plugin installed on the remote host is affected by the following vulnerabilities : - A flaw exists when processing an LZW compressed TIFF image that can be exploited to cause a heap-based buffer underflow via a specially crafted LZW code within an image row strip. (CVE-2012-5679) - An integer overflow error exists when allocating memory during TIFF image processing that can be exploited to cause a heap-based buffer overflow via specially crafted image dimensions. (CVE-2012-5680) These vulnerabilities can be exploited by tricking a user into opening a specially crafted file and could allow an attacker to execute arbitrary code.
    last seen2020-06-01
    modified2020-06-02
    plugin id69347
    published2013-08-14
    reporterThis script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/69347
    titleAdobe Camera Raw Plugin Multiple Vulnerabilities (Mac OS X)
    code
    #TRUSTED a465268835d7918dad6a78f79e4b4e1bb26c202579cd376845dc39884949904efbd8ed66aca1a75c9d2086471ce2ce7480682ea57ff0d2e77a39c5ab6c88c3045a2bc96e5e181c60ae663f868443f1c02322aad540b974c2d814a51e2b44113ccf0124f85a853ed5ba3f9a8ac1db0d9b0fa4b954caf17243417477597deba7348115ce262b58a6029f4d9588cc9ca60e4ab50ca5355a31cebffd4b18e8ca5a7186a2595149013a24bda28aae9ceaf706a35dd6f211311bda121684255e27b52027cd8f06a0f9dc5b6f8093c73ed38ff55e3cdee74cdda9277c0472f2d82e72341c513d4a580e2fb1c60ad3ff0e696b7f32739a725c8b6f5c34b409bd6b7765ebfdf9ace10ba61a17002705debc3cf51fb95486c8545fd22a7f74b388a837aa751e2a977c4b3e678028e2047549aab9bfaecc8991bde28ead4b0192aab65403839c14abae11d95cf7b2d506745f3c7faa6a288e784bf6826c34b4b5758ed47d73f5b36c02898c967e71f01da740579f95adcb2ab48427f44d6fba6557dca11bb381819074d43e1452b61989eae6cc87e049fb4d7f0402cd6c8ebf278a78b9e7457b2012776dc6d1a3abe969c3a007ed8bf17c4900d7c97ec17ed491fb6fe5d41568a0c2795c20e4398efdc8a15d2f690dae24f9f40a6040ce3da34b49962a0076bfc22fafe64ee2d82b4c1d41b26cb160192c524a0d8711450a25169e9b23d0e8
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    include ("compat.inc");
    
    if (description)
    {
      script_id(69347);
      script_version("1.12");
      script_cvs_date("Date: 2019/11/27");
    
      script_cve_id("CVE-2012-5679", "CVE-2012-5680");
      script_bugtraq_id(56922, 56924);
    
      script_name(english:"Adobe Camera Raw Plugin Multiple Vulnerabilities (Mac OS X)");
      script_summary(english:"Checks version of plug-in");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote host has a software plugin installed that is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of the Adobe Camera Raw plugin installed on the remote host
    is affected by the following vulnerabilities :
    
      - A flaw exists when processing an LZW compressed TIFF
        image that can be exploited to cause a heap-based buffer
        underflow via a specially crafted LZW code within an
        image row strip. (CVE-2012-5679)
    
      - An integer overflow error exists when allocating memory
        during TIFF image processing that can be exploited to
        cause a heap-based buffer overflow via specially crafted
        image dimensions. (CVE-2012-5680)
    
    These vulnerabilities can be exploited by tricking a user into opening a
    specially crafted file and could allow an attacker to execute arbitrary
    code.");
      script_set_attribute(attribute:"see_also", value:"http://secunia.com/secunia_research/2012-31/");
      script_set_attribute(attribute:"see_also", value:"http://www.adobe.com/support/security/bulletins/apsb12-28.html");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Camera Raw Plug-In 6.7.1 / 7.3 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2012-5680");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2012/12/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2012/12/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/08/14");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:bridge");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:photoshop");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:camera_raw");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"MacOS X Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl", "command_builder_init.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/MacOSX/Version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("ssh_func.inc");
    include("telnet_func.inc");
    include("hostlevel_funcs.inc");
    include("macosx_func.inc");
    include("sh_commands_find.inc");
    
    
    if(sshlib::get_support_level() >= sshlib::SSH_LIB_SUPPORTS_COMMANDS)
      enable_ssh_wrappers();
    else disable_ssh_wrappers();
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    os = get_kb_item("Host/MacOSX/Version");
    if (!os) audit(AUDIT_OS_NOT, "Mac OS X");
    
    if (islocalhost())
    {
      if (!defined_func("pread")) audit(AUDIT_FN_UNDEF,"pread");
      info_t = INFO_LOCAL;
    }
    else
    {
      sock_g = ssh_open_connection();
      if (!sock_g) audit(AUDIT_FN_FAIL, 'ssh_open_connection');
      info_t = INFO_SSH;
    }
    
    err = '';
    dirs = sh_commands::find('/Library/Application Support/Adobe/Plug-Ins', '-xautofs', '-tenb_fstype_exclusions', '-tenb_path_exclusions', '-name', 'CS[56]', '-mindepth', '1', '-maxdepth', '1', '-type', 'd');
    if (dirs[0] == sh_commands::CMD_OK)
    {
      dirs = dirs[1];
    }
    else if (dirs[0] == sh_commands::CMD_TIMEOUT)
    {
      err = 'Find command timed out.';
    }
    else
    {
      err = dirs[1];
    }
    
    if (info_t == INFO_SSH) ssh_close_connection();
    
    if (!empty_or_null(err)) exit(1, err);
    
    if (empty_or_null(dirs)) audit(AUDIT_NOT_INST, 'Adobe Photoshop Camera Raw');
    
    report = '';
    
    foreach dir (split(dirs, keep:FALSE))
    {
      plist = dir + '/File Formats/Camera Raw.plugin/Contents/Info.plist';
    
      cmd =
        'plutil -convert xml1 -o - \'' + plist + '\' | ' +
        'grep -A 1 CFBundleVersion | ' +
        'tail -n 1 | ' +
        'sed \'s/.*<string>\\(.*\\)<\\/string>.*/\\1/g\'';
    
      version = exec_cmd(cmd:cmd);
      if (!isnull(version))
        version = str_replace(find:'f', replace:'.', string:version);
    
      not_vuln_list = make_list();
      if (!isnull(version) && version =~ '^[0-9\\.]+$')
      {
        if (version =~ "^6(\.|$)" && ver_compare(ver:version, fix:"6.7.1", strict:FALSE) == -1)
          fix = "6.7.1";
        else if (version =~ "^7(\.|$)" && ver_compare(ver:version, fix:"7.3", strict:FALSE) == -1)
          fix = "7.3";
    
        if (fix != '')
        {
          report += '\n  Path              : ' + dir +
                    '\n  Installed version : ' + version +
                    '\n  Fixed version     : ' + fix + '\n';
          if (!thorough_tests) break;
        }
        else not_vuln_list = make_list(not_vuln_list, version);
      }
    }
    
    if (report != '')
    {
      if (report_verbosity > 0) security_hole(port:0, extra:report);
      else security_hole(0);
    }
    else audit(AUDIT_INST_VER_NOT_VULN, "Adobe Photoshop Camera Raw",
               join(not_vuln_list, sep:'/'));
    

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 56922 CVE(CAN) ID: CVE-2012-5679 Photoshop Camera Raw 软件可以解析相机原始数据文件,该软件使用有关相机的信息以及图像元数据来构建和处理彩色图像。 Adobe Photoshop Camera Raw 7.3之前版本在实现上存在缓冲区溢出漏洞,远程攻击者可利用此漏洞执行任意代码。 0 Adobe Photoshop Camera Raw &lt;= 7.3 厂商补丁: Adobe ----- Adobe已经为此发布了一个安全公告(apsb12-28)以及相应补丁: apsb12-28:Security update available for Photoshop Camera Raw 链接:http://www.adobe.com/support/security/bulletins/apsb12-28.html 补丁下载:http://www.adobe.com/downloads/
idSSV:60514
last seen2017-11-19
modified2012-12-18
published2012-12-18
reporterRoot
titleAdobe Photoshop Camera Raw缓冲区溢出远程代码执行漏洞