Home » Security, Server

Vulnerability Note VU#800113

17 July 2008 1 views 2 Comments

Multiple implementations vulnerable to cache

Overview

Deficiencies in the protocol and common implementations facilitate cache attacks.

I. Description

The Domain Name System () is responsible for translating host names to IP addresses (and vice versa) and is critical for the normal operation of internet-connected systems. cache (sometimes referred to as cache ) is an technique that allows an to introduce forged information into the cache of a caching . cache is not a new concept; in fact, there are published articles that describe a number of inherent deficiencies in the protocol and defects in common implementations that facilitate cache . The following are examples of these deficiencies and defects:

  • Insufficient transaction ID space
    The protocol specification includes a transaction ID field of 16 bits. If the specification is correctly implemented and the transaction ID is randomly selected with a strong random number generator, an will require, on average, 32,768 attempts to successfully predict the ID. Some flawed implementations may use a smaller number of bits for this transaction ID, meaning that fewer attempts will be needed. Furthermore, there are known errors with the of transaction IDs that are generated by a number of implementations. Amit Klein researched several affected implementations in 2007. These vulnerabilities are described in the following notes:

  • Multiple outstanding requests
    Some implementations of services contain a in which multiple identical queries for the same resource record (RR) will generate multiple outstanding queries for that RR. This condition leads to the feasibility of a ‘birthday ,’ which significantly raises an ’s chance of success. This problem was previously described in VU#457875. A number of vendors and implementations have already added mitigations to address this issue.
  • Fixed source port for generating queries
    Some current implementations allocate an arbitrary port at startup (sometimes selected at random) and reuse this source port for all outgoing queries. In some implementations, the source port for outgoing queries is fixed at the traditional assigned server port number, 53/udp.

More info

Tags: , , , , , , , , , ,

Related posts

2 Comments »

  • Ewan said:

    wan and lan…

    I can’t believe I missed this! I’m going to have to do some more reading me thinks….

  • astronomy articles said:

    astronomy articles…

    One notable blogging tool that does not support trackback yet is Blogger. This enables authors to keep track of who is linking to,…

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.