Vulnerabilities > CVE-2010-1893 - Numeric Errors vulnerability in Microsoft Windows 7, Windows Server 2008 and Windows Vista

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN

Summary

Integer overflow in the TCP/IP stack in Microsoft Windows Vista SP1, Windows Server 2008 Gold and R2, and Windows 7 allows local users to gain privileges via a buffer of user-mode data that is copied to kernel mode, aka "Integer Overflow in Windows Networking Vulnerability."

Vulnerable Configurations

Part Description Count
OS
Microsoft
8

Common Weakness Enumeration (CWE)

Msbulletin

bulletin_idMS10-058
bulletin_url
date2010-08-10T00:00:00
impactElevation of Privilege
knowledgebase_id978886
knowledgebase_url
severityImportant
titleVulnerabilities in TCP/IP Could Allow Elevation of Privilege

Nessus

NASL familyWindows : Microsoft Bulletins
NASL idSMB_NT_MS10-058.NASL
descriptionThe TCP/IP stack installed on the remote Windows host is affected by one or more of the following vulnerabilities : - An error exists in the Windows TCP/IP stack when processing specially crafted IPv6 packets with a malformed extension header that could cause the affected system to stop responding if IPv6 features are enabled, which is true by default in Windows Vista and 2008. (CVE-2010-1892) - The Windows TCP/IP stack fails to properly handle data copied from user mode, which could result in an integer overflow and allow a local attacker to run arbitrary code with system-level privileges. (CVE-2010-1892)
last seen2020-06-01
modified2020-06-02
plugin id48295
published2010-08-11
reporterThis script is Copyright (C) 2010-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/48295
titleMS10-058: Vulnerabilities in TCP/IP Could Allow Elevation of Privilege (978886)
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(48295);
  script_version("1.20");
  script_cvs_date("Date: 2018/11/15 20:50:30");

  script_cve_id("CVE-2010-1892", "CVE-2010-1893");
  script_bugtraq_id(42251, 42254);
  script_xref(name:"MSFT", value:"MS10-058");
  script_xref(name:"MSKB", value:"978886");

  script_name(english:"MS10-058: Vulnerabilities in TCP/IP Could Allow Elevation of Privilege (978886)");
  script_summary(english:"Checks version of tcpip.sys");

  script_set_attribute(attribute:"synopsis", value:
"The remote host has multiple vulnerabilities in its TCP/IP
implementation.");
  script_set_attribute(attribute:"description", value:
"The TCP/IP stack installed on the remote Windows host is affected by
one or more of the following vulnerabilities :

  - An error exists in the Windows TCP/IP stack when
    processing specially crafted IPv6 packets with a
    malformed extension header that could cause the
    affected system to stop responding if IPv6 features are
    enabled, which is true by default in Windows Vista and
    2008. (CVE-2010-1892)

  - The Windows TCP/IP stack fails to properly handle data
    copied from user mode, which could result in an integer
    overflow and allow a local attacker to run arbitrary
    code with system-level privileges. (CVE-2010-1892)");
  script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2010/ms10-058");
  script_set_attribute(attribute:"solution", value:
"Microsoft has released a set of patches for Windows Vista, 2008, 7,
and 2008 R2.");
  script_set_cvss_base_vector("CVSS2#AV:L/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:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2010/08/10");
  script_set_attribute(attribute:"patch_publication_date", value:"2010/08/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/08/11");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows : Microsoft Bulletins");

  script_copyright(english:"This script is Copyright (C) 2010-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_hotfixes_fcheck.inc");
include("smb_hotfixes.inc");
include("smb_func.inc");
include("misc_func.inc");

get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");

bulletin = 'MS10-058';
kbs = make_list("978886");
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(vista:'1,2', win7:'0') <= 0) audit(AUDIT_OS_SP_NOT_VULN);

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);

kb = '978886';
if (
  # Windows 7 / Server 2008 R2
  hotfix_is_vulnerable(os:"6.1", sp:0, file:"Tcpip.sys", version:"6.1.7600.20733", min_version:"6.1.7600.20000", dir:"\system32\drivers", bulletin:bulletin, kb:kb) ||
  hotfix_is_vulnerable(os:"6.1", sp:0, file:"Tcpip.sys", version:"6.1.7600.16610", min_version:"6.1.7600.16000", dir:"\system32\drivers", bulletin:bulletin, kb:kb) ||

  # Vista / Windows Server 2008
  hotfix_is_vulnerable(os:"6.0", sp:2, file:"Tcpip.sys", version:"6.0.6002.22425", min_version:"6.0.6002.22000", dir:"\system32\drivers", bulletin:bulletin, kb:kb) ||
  hotfix_is_vulnerable(os:"6.0", sp:2, file:"Tcpip.sys", version:"6.0.6002.18272", min_version:"6.0.6002.18000", dir:"\system32\drivers", bulletin:bulletin, kb:kb) ||
  hotfix_is_vulnerable(os:"6.0", sp:1, file:"Tcpip.sys", version:"6.0.6001.22713", min_version:"6.0.6001.22000", dir:"\system32\drivers", bulletin:bulletin, kb:kb) ||
  hotfix_is_vulnerable(os:"6.0", sp:1, file:"Tcpip.sys", version:"6.0.6001.18493", min_version:"6.0.6001.18000", dir:"\system32\drivers", bulletin:bulletin, kb:kb)
)
{
  set_kb_item(name:"SMB/Missing/MS10-058", value:TRUE);
  hotfix_security_hole();

  hotfix_check_fversion_end();
  exit(0);
}
else
{
  hotfix_check_fversion_end();
  audit(AUDIT_HOST_NOT, 'affected');
}

Oval

accepted2012-03-26T04:00:51.776-04:00
classvulnerability
contributors
  • nameJosh Turpin
    organizationSymantec Corporation
  • nameDragos Prisaca
    organizationSymantec Corporation
definition_extensions
  • 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 7 (32-bit) is installed
    ovaloval:org.mitre.oval:def:6165
  • commentMicrosoft Windows 7 x64 Edition is installed
    ovaloval:org.mitre.oval:def:5950
  • commentMicrosoft Windows Server 2008 R2 x64 Edition is installed
    ovaloval:org.mitre.oval:def:6438
  • commentMicrosoft Windows Server 2008 R2 Itanium-Based Edition is installed
    ovaloval:org.mitre.oval:def:5954
descriptionInteger overflow in the TCP/IP stack in Microsoft Windows Vista SP1, Windows Server 2008 Gold and R2, and Windows 7 allows local users to gain privileges via a buffer of user-mode data that is copied to kernel mode, aka "Integer Overflow in Windows Networking Vulnerability."
familywindows
idoval:org.mitre.oval:def:12087
statusaccepted
submitted2010-03-13T13:00:00
titleInteger Overflow in Windows Networking Vulnerability
version45

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 42254 CVE ID: CVE-2010-1893 Microsoft Windows是微软发布的非常流行的操作系统。 Windows系统中TCP/IP实现的IppSortDestinationAddresses()函数在处理SOCKET_ADDRESS_LIST 结构时存在整数溢出漏洞,本地用户可以通过调用WSAIoctl和使用SIO_ADDRESS_LIST_SORT IOCTL破坏内核内存,以系统级权限执行任意代码。 在IppSortDestinationAddresses()函数的开始处存在以下伪代码: DestinationAddresses = ExAllocatePoolWithTag(NumberOfDestinationAddresses * sizeof(SOCKADDR_IN6)); // sizeof(SOCKADDR_IN6) = 0x1C NtStatus = IppFlattenAddressList(SocketAddressList, DestinationAddresses); if (!NT_SUCCESS(NtStatus)) ExFreePoolWithTag(DestinationAddresses); 整数溢出是由IppSortDestinationAddresses()函数和IppFlattenAddressList()函数中的内核域池溢出导致的。以下伪代码仅包含有函数的最重要部分: NTSTATUS IppFlattenAddressList(IN PSOCKET_ADDRESS_LIST SocketAddressList, OUT PSOCKADDR_IN6 FlattenAddressList) { PSOCKADDR_IN6 Address; // [...] for (Index = 0; Index &lt; SocketAddressList-&gt;iAddressCount; Index += 1) { if (SocketAddressList-&gt;Address[Index].iSockaddrLength != sizeof(SOCKADDR_IN6)) return STATUS_INVALID_PARAMETER; Address = SocketAddressList-&gt;Address[Index].lpSockaddr; // Of course, there is a ProbeForRead + __try if the function is called from Userland FlattenAddressList[Index] = *Address; // &lt;--- Pool Overflow is occuring here. // // The following part is important if you want to proceed to the overflow. // if (FlattenAddressList[Index].sin6_family != AF_INET6) return STATUS_INVALID_PARAMETER; } // [...] } 由于SocketAddressList-&gt;iAddressCount会拥有过高的值,循环会继续向内核池拷贝数据,直至sin6_family 与AF_INET6不同或iSockaddrLength与sizeof(SOCKADDR_IN6)不同。在这两种情况下 IppFlattenAddressList()函数都会返回STATUS_INVALID_PARAMETER强制调用程序释放内核池。 sin6_family是SOCKADDR_IN6结构中的第一个字段,在从链表中摘除期间会读取为POOL_HEADER结构的PreviousSize字段,导致较难利用这个漏洞。 Microsoft Windows Vista SP1 Microsoft Windows Server 2008 R2 Microsoft Windows Server 2008 Microsoft Windows 7 厂商补丁: Microsoft --------- Microsoft已经为此发布了一个安全公告(MS10-058)以及相应补丁: MS10-058:Vulnerabilities in TCP/IP Could Allow Elevation of Privilege (978886) 链接:http://www.microsoft.com/technet/security/bulletin/MS10-058.mspx?pf=true
idSSV:20047
last seen2017-11-19
modified2010-08-17
published2010-08-17
reporterRoot
titleMicrosoft Windows TCP/IP实现IppSortDestinationAddresses()函数整数溢出漏洞(MS10-058)