Vulnerabilities > CVE-2009-1925 - Code Injection vulnerability in Microsoft products

047910
CVSS 10.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
microsoft
CWE-94
critical
nessus

Summary

The TCP/IP implementation in Microsoft Windows Vista Gold, SP1, and SP2 and Server 2008 Gold and SP2 does not properly manage state information, which allows remote attackers to execute arbitrary code by sending packets to a listening service, and thereby triggering misinterpretation of an unspecified field as a function pointer, aka "TCP/IP Timestamps Code Execution Vulnerability."

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Leverage Executable Code in Non-Executable Files
    An attack of this type exploits a system's trust in configuration and resource files, when the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high. The attack can be directed at a client system, such as causing buffer overrun through loading seemingly benign image files, as in Microsoft Security Bulletin MS04-028 where specially crafted JPEG files could cause a buffer overrun once loaded into the browser. Another example targets clients reading pdf files. In this case the attacker simply appends javascript to the end of a legitimate url for a pdf (http://www.gnucitizen.org/blog/danger-danger-danger/) http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here The client assumes that they are reading a pdf, but the attacker has modified the resource and loaded executable javascript into the client's browser process. The attack can also target server processes. The attacker edits the resource or configuration file, for example a web.xml file used to configure security permissions for a J2EE app server, adding role name "public" grants all users with the public role the ability to use the administration functionality. The server trusts its configuration file to be correct, but when they are manipulated, the attacker gains full control.
  • Manipulating User-Controlled Variables
    This attack targets user controlled variables (DEBUG=1, PHP Globals, and So Forth). An attacker can override environment variables leveraging user-supplied, untrusted query variables directly used on the application server without any data sanitization. In extreme cases, the attacker can change variables controlling the business logic of the application. For instance, in languages like PHP, a number of poorly set default configurations may allow the user to override variables.

Msbulletin

bulletin_idMS09-048
bulletin_url
date2009-09-08T00:00:00
impactRemote Code Execution
knowledgebase_id967723
knowledgebase_url
severityCritical
titleVulnerabilities in Windows TCP/IP Could Allow Remote Code Execution

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS09-048.NASL
    descriptionThe TCP/IP implementation on the remote host has multiple flaws that could allow remote code execution if an attacker sent specially crafted TCP/IP packets over the network to a computer with a listening service : - A denial of service vulnerability exists in TCP/IP processing in Microsoft Windows due to the way that Windows handles an excessive number of established TCP connections. The affect of this vulnerability can be amplified by the requirement to process specially crafted packets with a TCP receive window size set to a very small value or zero. An attacker could exploit the vulnerability by flooding a system with specially crafted packets causing the affected system to stop responding to new requests or automatically restart. (CVE-2008-4609) - A remote code execution vulnerability exists in the Windows TCP/IP stack due to the TCP/IP stack not cleaning up state information correctly. This causes the TCP/IP stack to reference a field as a function pointer when it actually contains other information. An anonymous attacker could exploit the vulnerability by sending specially crafted TCP/IP packets to a computer that has a service listening over the network. An attacker who successfully exploited this vulnerability could take complete control of an affected system. (CVE-2009-1925) - A denial of service vulnerability exists in TCP/IP processing in Microsoft Windows due to an error in the processing of specially crafted packets with a small or zero TCP receive window size. If an application closes a TCP connection with pending data to be sent and an attacker has set a small or zero TCP receive window size, the affected server will not be able to completely close the TCP connection. An attacker could exploit the vulnerability by flooding a system with specially crafted packets causing the affected system to stop responding to new requests. The system would remain non-responsive even after the attacker stops sending malicious packets. (CVE-2009-1926)
    last seen2020-06-01
    modified2020-06-02
    plugin id40891
    published2009-09-08
    reporterThis script is Copyright (C) 2009-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/40891
    titleMS09-048: Vulnerabilities in Windows TCP/IP Could Allow Remote Code Execution (967723)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    include("compat.inc");
    
    
    if (description)
    {
      script_id(40891);
      script_version("1.30");
      script_cvs_date("Date: 2018/11/15 20:50:30");
    
      script_cve_id("CVE-2008-4609", "CVE-2009-1925", "CVE-2009-1926");
      script_bugtraq_id(31545, 36265, 36269);
      script_xref(name:"MSFT", value:"MS09-048");
      script_xref(name:"MSKB", value:"967723");
      script_xref(name:"IAVA", value:"2009-A-0077");
    
      script_name(english:"MS09-048: Vulnerabilities in Windows TCP/IP Could Allow Remote Code Execution (967723)");
      script_summary(english:"Checks version of tcpip.sys");
    
      script_set_attribute(attribute:"synopsis", value:
    "Multiple vulnerabilities in the Windows TCP/IP implementation could
    lead to denial of service or remote code execution.");
      script_set_attribute(attribute:"description", value:
    "The TCP/IP implementation on the remote host has multiple flaws that
    could allow remote code execution if an attacker sent specially crafted
    TCP/IP packets over the network to a computer with a listening service :
    
      - A denial of service vulnerability exists in TCP/IP
        processing in Microsoft Windows due to the way that
        Windows handles an excessive number of established TCP
        connections. The affect of this vulnerability can be
        amplified by the requirement to process specially
        crafted packets with a TCP receive window size set to a
        very small value or zero. An attacker could exploit the
        vulnerability by flooding a system with specially
        crafted packets causing the affected system to stop
        responding to new requests or automatically restart.
        (CVE-2008-4609)
    
      - A remote code execution vulnerability exists in the
        Windows TCP/IP stack due to the TCP/IP stack not
        cleaning up state information correctly. This causes the
        TCP/IP stack to reference a field as a function pointer
        when it actually contains other information. An anonymous
        attacker could exploit the vulnerability by sending
        specially crafted TCP/IP packets to a computer that has
        a service listening over the network. An attacker who
        successfully exploited this vulnerability could take
        complete control of an affected system. (CVE-2009-1925)
    
      - A denial of service vulnerability exists in TCP/IP
        processing in Microsoft Windows due to an error in the
        processing of specially crafted packets with a small or
        zero TCP receive window size. If an application closes a
        TCP connection with pending data to be sent and an
        attacker has set a small or zero TCP receive window
        size, the affected server will not be able to
        completely close the TCP connection. An attacker could
        exploit the vulnerability by flooding a system with
        specially crafted packets causing the affected system
        to stop responding to new requests. The system would
        remain non-responsive even after the attacker stops
        sending malicious packets. (CVE-2009-1926)");
      script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2009/ms09-048");
      script_set_attribute(attribute:"solution", value:
    "Microsoft has released a set of patches for Windows 2003, Vista and
    2008.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:F/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_cwe_id(16, 94);
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2009/09/08");
      script_set_attribute(attribute:"patch_publication_date", value:"2009/09/08");
      script_set_attribute(attribute:"plugin_publication_date", value:"2009/09/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:"I");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2009-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 = 'MS09-048';
    kb = '967723';
    
    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);
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    
    if (hotfix_check_sp_range(win2k:'4,5', xp:'2,3', win2003:'2', vista:'0,2') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    
    # nb: MS09-048 says that Windows 2000 and XP are affected but will not be patched.
    if ("Windows 2000" >< productname || "Windows XP" >< productname) exit(0, productname+" is affected, but Microsoft is not making an update available for it.");
    
    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 Server 2008
      hotfix_is_vulnerable(os:"6.0", sp:2,             file:"tcpip.sys", version:"6.0.6002.22200", min_version:"6.0.6002.20000", dir:"\System32\drivers", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:2,             file:"tcpip.sys", version:"6.0.6002.18091",                               dir:"\System32\drivers", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:1,             file:"tcpip.sys", version:"6.0.6001.22497", min_version:"6.0.6001.20000", dir:"\System32\drivers", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:1,             file:"tcpip.sys", version:"6.0.6001.18311",                               dir:"\System32\drivers", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:0,             file:"tcpip.sys", version:"6.0.6000.21108", min_version:"6.0.6000.20000", dir:"\System32\drivers", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:0,             file:"tcpip.sys", version:"6.0.6000.16908",                               dir:"\System32\drivers", bulletin:bulletin, kb:kb) ||
    
      # Windows 2003
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"tcpip.sys", version:"5.2.3790.4573", dir:"\System32\drivers", 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 idWIN_SERVER_2008_NTLM_PCI.NASL
    descriptionAccording to the version number obtained by NTLM the remote host has Windows Server 2008 installed. The host may be vulnerable to a number of vulnerabilities including remote unauthenticated code execution.
    last seen2020-06-01
    modified2020-06-02
    plugin id108811
    published2018-04-03
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/108811
    titleWindows Server 2008 Critical RCE Vulnerabilities (uncredentialed) (PCI/DSS)

Oval

accepted2009-10-19T04:00:16.926-04:00
classvulnerability
contributors
nameDragos Prisaca
organizationGideon Technologies, Inc.
definition_extensions
  • commentMicrosoft Windows Vista (32-bit) is installed
    ovaloval:org.mitre.oval:def:1282
  • commentMicrosoft Windows Vista x64 Edition is installed
    ovaloval:org.mitre.oval:def:2041
  • 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
  • commentMicrosoft Windows Vista (32-bit) is installed
    ovaloval:org.mitre.oval:def:1282
  • commentMicrosoft Windows Vista x64 Edition is installed
    ovaloval:org.mitre.oval:def:2041
  • 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
descriptionThe TCP/IP implementation in Microsoft Windows Vista Gold, SP1, and SP2 and Server 2008 Gold and SP2 does not properly manage state information, which allows remote attackers to execute arbitrary code by sending packets to a listening service, and thereby triggering misinterpretation of an unspecified field as a function pointer, aka "TCP/IP Timestamps Code Execution Vulnerability."
familywindows
idoval:org.mitre.oval:def:6374
statusaccepted
submitted2009-09-08T13:00:00
titleTCP/IP Timestamps Code Execution Vulnerability
version42

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 36265 CVE(CAN) ID: CVE-2009-1925 Microsoft Windows是微软发布的非常流行的操作系统。 由于TCP/IP栈没有正确地清除状态信息,导致Windows TCP/IP栈中存在远程代码执行漏洞。这会导致TCP/IP栈引用包含有其他信息的字段为函数指针。匿名攻击者可以通过向在网络上监听服务的计算机发送特制的TCP/IP报文来利用这个漏洞,成功利用这个漏洞的攻击者可以完全控制受影响的系统;攻击者之后可以安装程序、查看、更改或删除数据,或创建拥有完全用户权限的新账号。 Microsoft Windows Vista SP2 Microsoft Windows Vista SP1 Microsoft Windows Vista Microsoft Windows Server 2008 SP2 Microsoft Windows Server 2008 临时解决方法: * 在支持的系统上启用高级TCP/IP过滤功能。 * 使用个人防火墙,如Internet连接防火墙。 厂商补丁: Microsoft --------- Microsoft已经为此发布了一个安全公告(MS09-048)以及相应补丁: MS09-048:Vulnerabilities in Windows TCP/IP Could Allow Remote Code Execution (967723) 链接:http://www.microsoft.com/technet/security/bulletin/MS09-048.mspx?pf=true
idSSV:12261
last seen2017-11-19
modified2009-09-11
published2009-09-11
reporterRoot
titleMicrosoft Windows TCP/IP时间戳远程代码执行漏洞(MS09-048)