VYPR
Unrated severityNVD Advisory· Published Nov 17, 2005· Updated Jun 16, 2026

CVE-2005-3644

CVE-2005-3644

Description

PNP_GetDeviceList (upnp_getdevicelist) in UPnP for Microsoft Windows 2000 SP4 and earlier, and possibly Windows XP SP1 and earlier, allows remote attackers to cause a denial of service (memory consumption) via a DCE RPC request that specifies a large output buffer size, a variant of CVE-2006-6296, and a different vulnerability than CVE-2005-2120.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

14
  • cpe:2.3:o:microsoft:windows_2000:*:*:*:*:*:*:*:*+ 4 more
    • cpe:2.3:o:microsoft:windows_2000:*:*:*:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_2000:*:sp1:*:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_2000:*:sp2:*:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_2000:*:sp3:*:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_2000:*:sp4:*:*:*:*:*:*
  • cpe:2.3:o:microsoft:windows_xp:*:gold:professional:*:*:*:*:*+ 7 more
    • cpe:2.3:o:microsoft:windows_xp:*:gold:professional:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:*:home:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:*:media_center:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:sp1:home:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:sp1:media_center:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:sp2:home:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:sp2:media_center:*:*:*:*:*
    • cpe:2.3:o:microsoft:windows_xp:*:sp2:tablet_pc:*:*:*:*:*
  • Range: Windows 2000 SP4 and earlier; Windows XP SP1 and earlier

Patches

Vulnerability mechanics

Root cause

"Missing bounds validation on the output buffer size field in a DCE/RPC request to upnp_getdevicelist causes excessive memory allocation."

Attack vector

An unauthenticated remote attacker sends a crafted DCE/RPC request to the UPnP service on TCP port 445, specifying operation number 0x0a (`upnp_getdevicelist`). The critical payload bytes are `\x10\x10\x10\x10` in the request data, which cause the underlying demarshalling routines to allocate an excessively large output buffer [ref_id=1]. This triggers a memory leak in `services.exe`, exhausting the target's virtual memory and leading to a denial of service where desktop, HTTP, and SMB requests stop being serviced [ref_id=1]. No authentication is required; the exploit uses a null session over SMB to reach the RPC endpoint [ref_id=1].

Affected code

The vulnerability resides in the UPnP service's `PNP_GetDeviceList` (also called `upnp_getdevicelist`) function, which is exposed via DCE/RPC over SMB on port 445. The advisory does not specify the exact source file or line number, but the function is part of the UPnP subsystem in `services.exe` on Microsoft Windows 2000 SP4 and earlier, and possibly Windows XP SP1 and earlier [ref_id=1].

What the fix does

No patch is included in the bundle. The advisory does not provide official remediation guidance from Microsoft. Based on the researcher's description, the fix would need to validate the output buffer size specified in the DCE/RPC request for `upnp_getdevicelist`, rejecting oversized allocation hints to prevent the memory exhaustion [ref_id=1]. The researcher notes that changing the operation number or altering the payload to avoid errors in the demarshalling routines might also reproduce the effect for other UPnP operations, suggesting the root cause is a lack of bounds checking on the allocation hint field [ref_id=1].

Preconditions

  • configTarget must be running Microsoft Windows 2000 SP4 or earlier (possibly Windows XP SP1 or earlier) with the UPnP service exposed on TCP port 445.
  • networkAttacker must have network connectivity to the target's SMB port (445/TCP).
  • authNo authentication required; a null session is sufficient to reach the RPC endpoint.
  • inputThe attacker sends a DCE/RPC request with operation number 0x0a (upnp_getdevicelist) containing a crafted allocation hint (e.g., 0x10101010).

Reproduction

The public exploit at [ref_id=1] provides a full C source file. Compile and run it against a vulnerable target: `./exploit

Generated on May 26, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

9

News mentions

0

No linked articles in our index yet.