iDefense Security Advisory 11.26.06: Qbik WinGate Compressed Name Pointer Denial of Service Vulnerability
Qbik WinGate Compressed Name Pointer Denial of Service Vulnerability
iDefense Security Advisory 11.26.06
http://labs.idefense.com/intelligence/vulnerabilities/
Nov 26, 2006
I. BACKGROUND
Qbik WinGate is an Internet gateway and communications server. It includes
functionality related to efficiently sharing an Internet connection
including DNS caching.
More information is available at the following link:
http://www.wingate.com/product-wingate.php
II. DESCRIPTION
Remote exploitation of a denial of service vulnerability in Qbik IP
Management Limited's WinGate allows attackers to cause the application to
consume 100% of available CPU cycles.
Sending a DNS request which contains a compressed name pointer which
references itself, will cause the vulnerable code to enter an infinite
loop which will consume all CPU cycles. The following packet illustrates
the DNS data that would be included in a packet triggering this
vulnerability:
\x00\x00 - Transaction ID
\x00\x00 - Flags
\x00\x01 - Questions
\x00\x00 - Answer RRs
\x00\x00 - Authority RRs
\x00\x00 - Additional RRs
\xc0\x0c - Query Name - Looping pointer
\x00\x00 - Query Type
\x00\x01 - Query Class
The DNS protocol allows for the compression of domain names in order to
reduce message sizes. This is accomplished by replacing an entire domain
name or a list of labels at the end of a domain name with a pointer to a
prior occurrence of the same name. The use of a pointer is indicated
within the Query Name field when the first two bits equal 1 (e.g. 0x0c).
The next byte is then interpreted as a pointer. In the packet detailed
above, the pointer itself is at the 12th byte within the DNS data portion
of the packet, thereby creating a looping pointer. The DNS compression
scheme is discussed in detail in RFC 1035.
III. ANALYSIS
Successful exploitation of this vulnerability could prevent the WinGate
proxy from functioning and thereby deny legitimate users access to network
based resources. This vulnerability can be triggered by any user that is
able to send packets to the WinGate proxy. A single UDP packet is all that
is required and authentication credentials are not needed.
IV. DETECTION
iDefense has confirmed that Qbik Wingate 6.1 is vulnerable. Earlier
versions are suspected vulnerable.
V. WORKAROUND
iDefense is unaware of an effective workaround for this issue.
VI. VENDOR RESPONSE
"Qbik acknowledges this to be a bug in WinGate version 6.1.4 and prior."
Qbik addressed this vulnerability within version 6.2.
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2006-4518 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org), which standardizes names for
security problems.
VIII. DISCLOSURE TIMELINE
08/17/2006 Initial vendor notification
10/17/2006 Initial vendor response
10/17/2006 Second vendor notification
11/26/2006 Coordinated public disclosure
IX. CREDIT
Michael Sutton (iDefense Labs) is credited with the discovery of this
vulnerability.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2006 iDefense, Inc.
Permission is granted for the redistribution of this alert electronically.
It may not be edited in any way without the express written consent of
iDefense. If you wish to reprint the whole or any part of this alert in
any other medium other than electronically, please e-mail
customerservice@xxxxxxxxxxxx for permission.
Disclaimer: The information in the advisory is believed to be accurate at
the time of publishing based on currently available information. Use of
the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on, this
information.