Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Momentics® Development Suite 6.3.0 SP3 or 6.3.2 TCP/IP Vulnerability (CERT VU#110947) Patch (Patch ID 933) Release Notes

QNX® Momentics® Development Suite 6.3.0 SP3 or 6.3.2 TCP/IP Vulnerability (CERT VU#110947) Patch (Patch ID 933) Release Notes

Date of this edition: February 04, 2008

Target OS: This patch is compatible with targets that are running QNX® Neutrino® 6.3.0 SP3 or 6.3.2.

Host OS: In order to apply this patch, you must have installed QNX Momentics 6.3.0 SP3 or 6.3.2 as a self-hosted QNX® Neutrino® system, or on one of the following host OSs:

Version of QNX Momentics Microsoft Windows Linux Solaris
6.3.0 SP3 Windows Vista, XP SP2, 2000 SP4, or NT SP6a Linux Red Hat 8 or 9, Red Hat Enterprise WS 3 or 4, Red Hat Fedora Core 3 or 4, Debian 3.1, or SUSE 10 Sun Solaris 7, 8, 9, or 10
6.3.2 Windows Vista, XP SP2, or 2000 SP4 Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7.0.4, or SUSE 10 Not supported.

Note: For the most up-to-date version of these notes, go to our website (www.qnx.com), log into your myQNX account, and then go to the Download area.

Contents

Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.

What's in this patch?

Binaries

This patch contains the full IPv4/v6 TCP/IP stack, npm-tcpip-v6.so.

Installed files

The following files are installed under $QNX_TARGET/ in the subdirectories for the supported targets:

  • ARMBE:
    • armbe/lib/dll/npm-tcpip-v6.so
  • ARMLE:
    • armle/lib/dll/npm-tcpip-v6.so
  • MIPSBE:
    • mipsbe/lib/dll/npm-tcpip-v6.so
  • MIPSLE:
    • mipsle/lib/dll/npm-tcpip-v6.so
  • PPCBE:
    • ppcbe/lib/dll/npm-tcpip-v6.so
  • SHLE:
    • shle/lib/dll/npm-tcpip-v6.so
  • x86:
    • x86/lib/dll/npm-tcpip-v6.so

Fixed issues

We've verified that vulnerability CERT VU#110947 (as described at http://www.kb.cert.org/vuls/id/110947) is present in products that contain the IPv6 version of the TCP/IP network stack. This remote Denial of Service vulnerability allows a remote attacker to use a specially crafted network packet to make the io-net network manager fault (terminate). (Ref# 53744)

The affected binary is npm-tcpip-v6.so and is present in the following products:

  • QNX Momentics 6.2x
  • QNX Networking Bundle 1.1
  • QNX Extended Networking TDK 1.x
  • QNX Momentics 6.3.2

If you're using this binary on your system, we strongly recommend that you install this patch. If you're using a custom build, implement the source code fixes described below.


Note: Contact your support representative regarding patches for QNX Momentics 6.2x and QNX Networking Bundle 1.1.

The binary npm-tcpip-v4.so isn't affected.

Are you using the affected binary?

To determine if you're using the affected binary, type:

pidin -Pio-net mem

The output of this command will look something like this:

     pid tid name               prio STATE           code  data         stack
353370128   1 sbin/io-net         10r SIGWAITINFO       64K  840K  8192(516K)*
353370128   2 sbin/io-net         21r RECEIVE           64K  840K  4096(132K)
353370128   3 sbin/io-net         10r RECEIVE           64K  840K   4096(68K)
353370128   4 sbin/io-net         10r RECEIVE           64K  840K   4096(68K)
353370128   5 sbin/io-net         21r RECEIVE           64K  840K  4096(132K)
353370128   6 sbin/io-net         21r RECEIVE           64K  840K  4096(132K)
353370128   7 sbin/io-net         21r RECEIVE           64K  840K  4096(132K)
            libc.so.2          @b0300000             360K   12K
            devn-pcnet.so      @b8200000              40K  4096
            npm-tcpip-v6.so    @b820b000             676K   44K
            sbin/io-net        @ 8046000 (       0)        8192
            sbin/io-net        @b035d000 (       0)        4096

Examine the output for the following:

  • If npm-tcpip-v6.so is listed, your system is vulnerable.
  • If npm-tcpip-v4.so is listed, your system isn't vulnerable.
  • If npm-tcpip.so is listed, you need to determine whether npm-tcpip.so is a symbolic link to npm-tcpip-v6.so or npm-tcpip-v4.so, as follows:
    ls -l /lib/dll/npm-tcpip.so
    
    lrwxrwxrwx  1 root      root             24 Jan 24 10:08 /lib/dll/npm-tcpip.so -> /lib/dll/npm-tcpip-v6.so

Source kits

If you've complied a custom version of the IPv6 TCP/IP stack using the TDK or Networking Bundle, you can apply the following source modification to your custom binaries:

services/net/npm/tcpip-1-5/netinet6/ipcomp_input.c
Index: ipcomp_input.c
===================================================================
--- ipcomp_input.c      (old revision)
+++ ipcomp_input.c      (New copy)
@@ -120,7 +120,7 @@
        }

        md = m_pulldown(m, off, sizeof(*ipcomp), NULL);
-       if (!m) {
+       if (!md) {
                m = NULL;       /* already freed */
                ipseclog((LOG_DEBUG, "IPv4 IPComp input: assumption failed "
                    "(pulldown failure)\n"));
@@ -269,7 +269,7 @@
        off = *offp;

        md = m_pulldown(m, off, sizeof(*ipcomp), NULL);
-       if (!m) {
+       if (!md) {
                m = NULL;       /* already freed */
                ipseclog((LOG_DEBUG, "IPv6 IPComp input: assumption failed "
                    "(pulldown failure)\n"));

Known issues

See the release notes for QNX Momentics 6.3.0 SP3.

Technical support

If you have any questions, comments, or problems with a QNX product, please contact Technical Support. For more information, see the How to Get Help chapter of the Welcome to QNX Momentics guide or visit our website, www.qnx.com.