Vulnerabilities > CVE-2010-3970 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in Microsoft products

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN
microsoft
CWE-119
nessus
exploit available
metasploit

Summary

Stack-based buffer overflow in the CreateSizedDIBSECTION function in shimgvw.dll in the Windows Shell graphics processor (aka graphics rendering engine) in Microsoft Windows XP SP2 and SP3, Server 2003 SP2, Vista SP1 and SP2, and Server 2008 Gold and SP2 allows remote attackers to execute arbitrary code via a crafted .MIC or unspecified Office document containing a thumbnail bitmap with a negative biClrUsed value, as reported by Moti and Xu Hao, aka "Windows Shell Graphics Processing Overrun Vulnerability."

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.

Exploit-Db

descriptionMicrosoft Windows CreateSizedDIBSECTION Stack Buffer Overflow. CVE-2010-3970. Local exploit for windows platform
idEDB-ID:16660
last seen2016-02-02
modified2011-02-08
published2011-02-08
reportermetasploit
sourcehttps://www.exploit-db.com/download/16660/
titleMicrosoft Windows CreateSizedDIBSECTION Stack Buffer Overflow

Metasploit

descriptionThis module exploits a stack-based buffer overflow in the handling of thumbnails within .MIC files and various Office documents. When processing a thumbnail bitmap containing a negative 'biClrUsed' value, a stack-based buffer overflow occurs. This leads to arbitrary code execution. In order to trigger the vulnerable code, the folder containing the document must be viewed using the "Thumbnails" view.
idMSF:EXPLOIT/WINDOWS/FILEFORMAT/MS11_006_CREATESIZEDDIBSECTION
last seen2020-06-01
modified2019-05-23
published2011-02-08
referenceshttps://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3970
reporterRapid7
sourcehttps://github.com/rapid7/metasploit-framework/blob/master//modules/exploits/windows/fileformat/ms11_006_createsizeddibsection.rb
titleMS11-006 Microsoft Windows CreateSizedDIBSECTION Stack Buffer Overflow

Msbulletin

bulletin_idMS11-006
bulletin_url
date2011-02-08T00:00:00
impactRemote Code Execution
knowledgebase_id2483185
knowledgebase_url
severityCritical
titleVulnerability in Windows Shell Graphics Processing Could Allow Remote Code Execution

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS11-006.NASL
    descriptionIf a remote attacker can trick a user on the affected host into opening a specially crafted bitmap file, a vulnerability in the graphics rendering engine that arises due to its failure to validate the
    last seen2020-06-01
    modified2020-06-02
    plugin id51906
    published2011-02-08
    reporterThis script is Copyright (C) 2011-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/51906
    titleMS11-006: Vulnerability in Windows Shell Graphics Processing Could Allow Remote Code Execution (2483185)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    include("compat.inc");
    
    
    if (description)
    {
      script_id(51906);
      script_version("1.23");
      script_cvs_date("Date: 2018/11/15 20:50:30");
    
      script_cve_id("CVE-2010-3970");
      script_bugtraq_id(45662);
      script_xref(name:"IAVA", value:"2011-A-0019");
      script_xref(name:"CERT", value:"106516");
      script_xref(name:"MSFT", value:"MS11-006");
      script_xref(name:"MSKB", value:"2483185");
    
      script_name(english:"MS11-006: Vulnerability in Windows Shell Graphics Processing Could Allow Remote Code Execution (2483185)");
      script_summary(english:"Checks version of Shell32.dll");
    
      script_set_attribute(
        attribute:"synopsis",
        value:
    "It may be possible to execute arbitrary code on the remote host using
    the graphics rendering engine."
      );
      script_set_attribute(
        attribute:"description",
        value:
    "If a remote attacker can trick a user on the affected host into
    opening a specially crafted bitmap file, a vulnerability in the
    graphics rendering engine that arises due to its failure to validate
    the 'biClrUsed' parameter could be leveraged to  execute arbitrary
    code on the host subject to the user's privileges."
      );
      script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2011/ms11-006");
      script_set_attribute(
        attribute:"solution",
        value:
    "Microsoft has released a set of patches for Windows XP, 2003, Vista,
    2008."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC: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_set_attribute(attribute:"exploited_by_malware", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'MS11-006 Microsoft Windows CreateSizedDIBSECTION Stack Buffer Overflow');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    script_set_attribute(attribute:"vuln_publication_date", value:"2010/12/15");
      script_set_attribute(attribute:"patch_publication_date", value:"2011/02/08");
      script_set_attribute(attribute:"plugin_publication_date", value:"2011/02/08");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_set_attribute(attribute:"stig_severity", value:"II");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2011-2018 Tenable Network Security, Inc.");
    
      script_dependencies("smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, 'Host/patch_management_checks');
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_func.inc");
    include("smb_hotfixes.inc");
    include("smb_hotfixes_fcheck.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = 'MS11-006';
    kb = '2483185';
    
    kbs = make_list(kb);
    if (get_kb_item("Host/patch_management_checks")) hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_HOLE);
    
    get_kb_item_or_exit("SMB/Registry/Enumerated");
    get_kb_item_or_exit("SMB/WindowsVersion", exit_code:1);
    
    if (hotfix_check_sp_range(xp:'3', win2003:'2', vista:'1,2') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    if (hotfix_check_server_core() == 1) audit(AUDIT_WIN_SERVER_CORE);
    
    rootfile = hotfix_get_systemroot();
    if (!rootfile) exit(1, "Failed to get the system root.");
    
    share = hotfix_path2share(path:rootfile);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      # Vista / Windows 2008
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Shell32.dll", version:"6.0.6002.22574", min_version:"6.0.6002.20000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Shell32.dll", version:"6.0.6002.18393", min_version:"6.0.6002.18000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:1, file:"Shell32.dll", version:"6.0.6001.22839", min_version:"6.0.6001.20000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:1, file:"Shell32.dll", version:"6.0.6001.18588", min_version:"6.0.6001.18000", dir:"\system32", bulletin:bulletin, kb:kb) ||
    
      # Windows 2003 / XP x64
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"Shell32.dll", version:"6.0.3790.4822", dir:"\system32", bulletin:bulletin, kb:kb) ||
    
      # Windows XP x86
      hotfix_is_vulnerable(os:"5.1", sp:3, arch:"x86", file:"Shell32.dll", version:"6.0.2900.6072", dir:"\system32", bulletin:bulletin, kb:kb)
    )
    {
      set_kb_item(name:'SMB/Missing/' + bulletin, value:TRUE);
      hotfix_security_hole();
      hotfix_check_fversion_end();
      exit(0);
    }
    else
    {
      hotfix_check_fversion_end();
      audit(AUDIT_HOST_NOT, 'affected');
    }
    
  • NASL familyWindows
    NASL idSMB_KB_2490606.NASL
    descriptionIf a remote attacker can trick a user on the affected host into opening a specially crafted bitmap file, the attacker could leverage an as-yet unpatched vulnerability in the graphics rendering engine that arises due to its failure to validate the 'biClrUsed' parameter and thereby execute arbitrary code on the host subject to the user's privileges.
    last seen2017-08-31
    modified2017-08-30
    plugin id51424
    published2011-01-06
    reporterTenable
    sourcehttps://www.tenable.com/plugins/index.php?view=single&id=51424
    titleMS KB2490606: Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution
    code
    #%NASL_MIN_LEVEL 999999
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # @DEPRECATED@
    #
    # Disabled on 2011/02/08.  Use smb_nt_ms11-006.nasl (plugin ID 51906) instead.
    
    
    include('compat.inc');
    
    if (description)
    {
      script_id(51424);
      script_version("1.14");
      script_cvs_date("Date: 2018/08/13 14:32:39");
    
      script_cve_id("CVE-2010-3970");
      script_bugtraq_id(45662);
      script_xref(name:"IAVA", value:"2011-A-0019");
      script_xref(name:"MSKB", value:"2490606");
    
      script_name(english:"MS KB2490606: Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution");
      script_summary(english:"Checks the ACL for shimgvw.dll");
    
      script_set_attribute(attribute:"synopsis", value:
    "It may be possible to execute arbitrary code on the remote host using
    the graphics rendering engine.");
    
      script_set_attribute(attribute:"description", value:
    "If a remote attacker can trick a user on the affected host into
    opening a specially crafted bitmap file, the attacker could leverage
    an as-yet unpatched vulnerability in the graphics rendering engine
    that arises due to its failure to validate the 'biClrUsed' parameter
    and  thereby execute arbitrary code on the host subject to the user's
    privileges.");
      script_set_attribute(attribute:"see_also", value:"http://technet.microsoft.com/en-us/security/advisory/2490606");
      script_set_attribute(attribute:"solution", value:
    "Consider applying the workaround provided by Microsoft.
    
    Note, though, that applying the workaround will lead to some media
    files not being displayed correctly.");
     script_set_cvss_base_vector("CVSS2#AV:N/AC:M/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:"metasploit_name", value:'Microsoft Windows CreateSizedDIBSECTION Stack Buffer Overflow');
     script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
     script_set_attribute(attribute:"plugin_publication_date", value: "2011/01/06");
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"stig_severity", value:"II");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows");
    
      script_copyright(english:"This script is Copyright (C) 2011-2018 Tenable Network Security, Inc.");
    
      script_dependencies("smb_hotfixes.nasl");
      script_require_keys("SMB/Registry/Enumerated", "SMB/WindowsVersion", "SMB/ARCH");
      script_require_ports(139, 445);
    
      exit(0);
    }
    
    # Deprecated
    exit(0, "This plugin has been deprecated. Use smb_nt_ms11-006.nasl (plugin ID 51906) instead.");
    
    include("smb_func.inc");
    include("smb_hotfixes.inc");
    include("misc_func.inc");
    
    
    # Local version of smb_check_success so that we can check
    # the return code for Access Denied
    function local_smb_check_success(data)
    {
      local_var header, flags2, code;
    
      # Some checks in the header first
      header = get_smb_header (smbblob:data);
      if (!header)
        return FALSE;
    
      flags2 = get_header_flags2(header:header);
      if (flags2 && SMB_FLAGS2_32BIT_STATUS)
      {
        code = get_header_nt_error_code (header:header);
        if (code == STATUS_ACCESS_DENIED)
          return code;
        else if (code != STATUS_SUCCESS)
          return FALSE;
      }
      else
      {
        code = get_header_dos_error_code (header:header);
        if (code == ERROR_ACCESS_DENIED)
          return code;
        else if (code != NO_ERROR)
          return FALSE;
      }
      return TRUE;
    }
    
    # Local version of smb_create_and_x function so that we can check
    # the return code for Access Denied
    function local_smb_create_and_x (name, desired_access, flags_attributes, share_mode, create_disposition, create_options)
    {
      local_var header, parameters, data, packet, ret, offset, fid, pad, filename, status;
    
      if (session_is_smb2())
      {
        return smb2_create(
                    name:name,
                    desired_access:desired_access,
                    flags_attributes:flags_attributes,
                    share_mode:share_mode,
                    create_disposition:create_disposition,
                    create_options:create_options
                    );
      }
    
      header = smb_header (Command:SMB_COM_NT_CREATE_ANDX,
                           Status:nt_status(Status:STATUS_SUCCESS));
    
      pad = NULL;
      if (session_is_unicode() == 1) pad = raw_byte(b:0);
    
      filename = cstring(string:name);
    
      parameters = raw_byte (b:255) + # no further command
                   raw_byte (b:0) +
                   raw_word (w:0) +
                   raw_byte (b:0) +
                   raw_word (w:strlen(cstring(string:name,_null:1))) +
                   raw_dword(d:0x16)           +  # flags to change
                   raw_dword(d:0)              +  # root fid
                   raw_dword(d:desired_access) +  # access_mask
                   raw_dword(d:0) + raw_dword(d:0) +  # allocation size
                   raw_dword (d:flags_attributes) + # file attributes
                   raw_dword (d:share_mode)    +  # share access
                   raw_dword (d:create_disposition) + # Disposition
                   raw_dword (d:create_options) + # create options
                   raw_dword (d:2)              + # impersonation
                   raw_byte (b:3);                # security flags
    
      parameters = smb_parameters (data:parameters);
          
      data = pad + filename;
    
      data = smb_data (data:data);
    
      packet = netbios_packet(header:header, parameters:parameters, data:data);
    
      ret = smb_sendrecv(data:packet);
      if (!ret) return NULL;
    
      # Check the return code.  If we get access denied, return -1
      # For any other error code return NULL
      # Otherwise return the file handle
      status = local_smb_check_success (data:ret);
      if (status == STATUS_ACCESS_DENIED || status == ERROR_ACCESS_DENIED)
      {
        return make_list(-1);
      }
      else if (status == FALSE)
      {
        return NULL;
      }
    
      parameters = get_smb_parameters(smbblob:ret);
      if (!parameters || (strlen(parameters) < 63))
        return NULL;
    
      offset = get_word (blob:parameters, pos:2);
    
      ret = NULL;
      ret[0] = get_word(blob:parameters, pos:5); #FID
      ret[1] = substr(parameters, 55, 62); # SIZE
    
      return ret;
    }
    
    get_kb_item_or_exit('SMB/WindowsVersion');
    arch = get_kb_item_or_exit('SMB/ARCH');
    
    if (hotfix_check_sp(xp:4, win2003:3, vista:3) <= 0) exit(0, "The host is not affected based on its version / service pack.");
    if (hotfix_check_server_core() == 1) exit(0, "Windows Server Core installs are not affected.");
    
    name     = kb_smb_name();
    login    = kb_smb_login();
    pass     = kb_smb_password();
    domain   = kb_smb_domain();
    port     = kb_smb_transport();
    
    if (!get_port_state(port)) exit(1, "Port "+port+" is not open.");
    soc = open_sock_tcp(port);
    if (!soc) exit(1, "Can't open a socket on port "+port+".");
    
    session_init(socket:soc, hostname:name);
    
    report = NULL;
    winver = get_kb_item_or_exit("SMB/WindowsVersion");
    if (winver == '5.1' || winver == '5.2')
    {
      winroot = hotfix_get_systemroot();
      share = ereg_replace(pattern:'^([A-Za-z]):.*', replace:"\1$", string:winroot);
      path = ereg_replace(string:winroot, pattern:'^[A-Za-z]:(.*)', replace:"\1\system32\");
      dll = path+'shimgvw.dll';
      
    
      rc = NetUseAdd(login:login, password:pass, domain:domain, share:share);
      if (rc != 1)
      {
        NetUseDel();
        exit(1, "Can't connect to "+share+" share.");
      }
      
      vuln32 = TRUE;
      vuln64 = FALSE;
      fh = local_smb_create_and_x(
        name:dll,
        desired_access:GENERIC_READ,
        flags_attributes:FILE_ATTRIBUTE_NORMAL,
        share_mode:FILE_SHARE_READ,
        create_disposition:OPEN_EXISTING,
        create_options:0
      );
      
      if (isnull(fh))
      {
        NetUseDel();
        exit(1, "Unable to open file "+dll+".");
      }
      
      # If fh is -1, that means we got an access denied
      else if (fh[0] == -1) vuln32 = FALSE;
      
      # If we were able to access the file, that's enough to say the 
      # workaround hasn't been implemented.
      else CloseFile(handle:fh);
    
      # If this is a 64-bit system, we also have to look in the syswow64 directory
      if (arch == 'x64')
      {
        vuln64 = TRUE;
        path64 = ereg_replace(string:winroot, pattern:'^[A-Za-z]:(.*)', replace:"\1\syswow64\");
        dll64 = path64 + 'shimgvw.dll';
      
        fh = local_smb_create_and_x(
          name:dll64,
          desired_access:GENERIC_READ,
          flags_attributes:FILE_ATTRIBUTE_NORMAL,
          share_mode:FILE_SHARE_READ,
          create_disposition:OPEN_EXISTING,
          create_options:0
        );
        
        if (isnull(fh))
        {
          NetUseDel();
          exit(1, "Unable to open file "+dll64+".");
        }
    
        # If fh is -1, that means we got an access denied
        else if (fh[0] == -1) vuln64 = FALSE;
      
        # If we were able to access the file. That's enough to say the workaround
        # hasn't been implemented
        else CloseFile(handle:fh);
      }
    
      # Clean up
      NetUseDel();
      
      if (vuln32 || vuln64)
      {
        report = 'The Everyone group has not been denied full rights to :\n\n';
        if (vuln32)
        {
          report += dll+'\n';
        }
        if (vuln64) 
        {
          report += dll64+'\n';
        }
      }
    }
    
    # In Windows Vista/2008 we try to read the IconsOnly registry key for the
    # logged in user.
    else if (winver == '6.0')
    {
      rc = NetUseAdd(login:login, password:pass, domain:domain, share:"IPC$");
      if (rc != 1)
      {
        NetUseDel();
        exit(1, "Can't connect to IPC$ share.");
      }
    
      # Connect to remote registry
      hku_handle = RegConnectRegistry(hkey:HKEY_USERS);
      if (isnull(hku_handle))
      {
        NetUseDel();
        exit(1, "Can't connect to remote registry.");
      }
    
      # Loop through each user and check if Explorer\IconsOnly is set to true
      userloggedin = FALSE;
      vuln = NULL; 
      username = NULL;
      info = RegQueryInfoKey(handle:hku_handle);
      for (i=0; i<info[1]; i++)
      {
        item = RegEnumKey(handle:hku_handle, index:i);
        if ('S-1-5-21-' >< item)
        {
          userloggedin = TRUE;
          if ('_Classes' >!< item)
          {
            # Try to determine the username of the logged in user
            key = item + "\Volatile Environment";
            key_h = RegOpenKey(handle:hku_handle, key:key, mode:MAXIMUM_ALLOWED);
            if (!isnull(key_h))
            {
              item2 = RegQueryValue(handle:key_h, item:"USERNAME");
              if (!isnull(item2)) username = item2[1];
    
              RegCloseKey(handle:key_h);
            }
            if (isnull(username)) username = "Unknown";
    
            # Now check for the workaround
            key = item + "\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced";
            key_h = RegOpenKey(handle:hku_handle, key:key, mode:MAXIMUM_ALLOWED);
            if (!isnull(key_h))
            {
              item2 = RegQueryValue(handle:key_h, item:"IconsOnly");
              if (isnull(item2))
              {
                RegCloseKey(handle:key_h);
                RegCloseKey(handle:hku_handle);
                NetUseDel();
                exit(1, "Couldn't read the "+key+"\IconsOnly registry key.");
              }
              if (item2[1] == 0) vuln = TRUE;
              else vuln = FALSE;
    
              RegCloseKey(handle:key_h);
            }
          }
        }
      }
      RegCloseKey(handle:hku_handle);
      NetUseDel();
      if (!userloggedin) exit(1, "Nessus could not check for the workaround because there are no users logged in to the console.");
      if (isnull(vuln)) exit(1, "Nessus could not determine if the workaround has been applied for the username "+username+".");
      if (vuln)
      {
        report =
          '\n  The workaround has not been applied for the following user : ' +
          '\n  User : ' + username + '\n' +
          '\n  Note that this workaround has to be applied for each user.\n';
      }
      exit(0, "The workaround has been applied for the username "+username+".");
    }
    # Update the reporting based on windows version
    if (report)
    {
      if (report_verbosity > 0)
      {
        security_hole(port:port, extra:report);
      }
      else security_hole(port);
    }
    else exit(0, "The host is not affected.");
    

Oval

accepted2011-03-28T04:00:04.045-04:00
classvulnerability
contributors
  • nameJosh Turpin
    organizationSymantec Corporation
  • nameDragos Prisaca
    organizationSecure Elements, Inc.
  • nameJeff Cockerill
    organizationG2, Inc.
definition_extensions
  • commentMicrosoft Windows XP (x86) SP3 is installed
    ovaloval:org.mitre.oval:def:5631
  • commentMicrosoft Windows XP x64 Edition SP2 is installed
    ovaloval:org.mitre.oval:def:4193
  • commentMicrosoft Windows Server 2003 SP2 (x86) is installed
    ovaloval:org.mitre.oval:def:1935
  • commentMicrosoft Windows Server 2003 SP2 (x64) is installed
    ovaloval:org.mitre.oval:def:2161
  • commentMicrosoft Windows Server 2003 (ia64) SP2 is installed
    ovaloval:org.mitre.oval:def:1442
  • commentMicrosoft Windows Vista (32-bit) Service Pack 1 is installed
    ovaloval:org.mitre.oval:def:4873
  • commentMicrosoft Windows Vista x64 Edition Service Pack 1 is installed
    ovaloval:org.mitre.oval:def:5254
  • commentMicrosoft Windows Server 2008 (32-bit) is installed
    ovaloval:org.mitre.oval:def:4870
  • commentMicrosoft Windows Server 2008 (64-bit) is installed
    ovaloval:org.mitre.oval:def:5356
  • commentMicrosoft Windows Server 2008 (ia-64) is installed
    ovaloval:org.mitre.oval:def:5667
  • commentMicrosoft Windows Vista (32-bit) Service Pack 2 is installed
    ovaloval:org.mitre.oval:def:6124
  • commentMicrosoft Windows Vista x64 Edition Service Pack 2 is installed
    ovaloval:org.mitre.oval:def:5594
  • commentMicrosoft Windows Server 2008 (32-bit) Service Pack 2 is installed
    ovaloval:org.mitre.oval:def:5653
  • commentMicrosoft Windows Server 2008 x64 Edition Service Pack 2 is installed
    ovaloval:org.mitre.oval:def:6216
  • commentMicrosoft Windows Server 2008 Itanium-Based Edition Service Pack 2 is installed
    ovaloval:org.mitre.oval:def:6150
descriptionStack-based buffer overflow in the CreateSizedDIBSECTION function in shimgvw.dll in the Windows Shell graphics processor (aka graphics rendering engine) in Microsoft Windows XP SP2 and SP3, Server 2003 SP2, Vista SP1 and SP2, and Server 2008 Gold and SP2 allows remote attackers to execute arbitrary code via a crafted .MIC or unspecified Office document containing a thumbnail bitmap with a negative biClrUsed value, as reported by Moti and Xu Hao, aka "Windows Shell Graphics Processing Overrun Vulnerability."
familywindows
idoval:org.mitre.oval:def:11671
statusaccepted
submitted2011-01-06T11:00:00
titleRemote Code Execution Vulnerability in Microsoft Graphics Rendering Engine
version77

Packetstorm

Saint

bid45662
descriptionWindows Thumbnail View CreateSizedDIBSECTION buffer overflow
idwin_patch_graphicsrendering
osvdb70263
titlewindows_thumbnail_createsizeddibsection
typeclient

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 45662 CVE ID: CVE-2010-3970 Microsoft Windows是微软发布的非常流行的操作系统。 Microsoft Windows的Windows Graphics Rendering Engine在实现上存在远程栈缓冲区溢出漏洞,远程攻击者可利用此漏洞通过诱使用户访问恶意网页或打开处理恶意Office文档破坏内存执行任意代码或造成拒绝服务。 Microsoft Windows XP Professional Microsoft Windows Vista SP2 Microsoft Windows Vista SP1 Microsoft Windows Vista Microsoft Windows Server 2008 Microsoft Windows Server 2003 厂商补丁: Microsoft --------- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: http://www.microsoft.com/technet/security/
idSSV:20317
last seen2017-11-19
modified2011-01-06
published2011-01-06
reporterRoot
sourcehttps://www.seebug.org/vuldb/ssvid-20317
titleMicrosoft Windows &quot;CreateSizedDIBSECTION()&quot;缩略视图栈缓冲区溢出漏洞

References