IIS 3.0 and 4.0 on x86 and Alpha allows remote attackers to cause a denial of service (hang) via a malformed GET request, aka the IIS "GET" vulnerability.
Remote attackers can cause a denial of service (DoS) on vulnerable Microsoft Internet Information Services (IIS) servers (versions 3.0 and 4.0) by sending a malformed GET request. This vulnerability can lead to significant service disruption, rendering web servers unavailable and impacting critical business operations.
Step 1: Target Identification: Identify IIS 3.0 or 4.0 servers running on x86 or Alpha architectures. This can be achieved through port scanning (port 80 or 443), banner grabbing, or vulnerability scanning.
Step 2: Crafting the Malformed Request: Construct a GET request with a malformed header. This could involve an extremely long header, an invalid header format, or a header with unexpected characters.
Step 3: Request Delivery: Send the crafted GET request to the vulnerable IIS server.
Step 4: Server Hang: The IIS server attempts to process the malformed request. Due to the vulnerability, the server's resources are exhausted, leading to a hang or denial of service.
Step 5: Denial of Service: The server becomes unresponsive, denying service to legitimate users. Subsequent requests will fail until the server is restarted.
The vulnerability stems from a flaw in how IIS handles incoming HTTP GET requests. Specifically, the server's request processing logic fails to properly validate the format or size of the request headers. A crafted GET request, possibly containing an excessively long or malformed header, can trigger a resource exhaustion condition, leading to a server hang. The root cause is likely an unchecked input condition, potentially a buffer overflow or a similar memory management issue within the request parsing routines. The server attempts to process the malformed request, consuming excessive resources (CPU, memory, or threads) until it becomes unresponsive. This is a classic example of a DoS vulnerability exploiting a weakness in input validation.