[Full-Disclosure] GLSA: pptpd (200304-08)

From: Daniel Ahlberg (aliz_at_gentoo.org)
Date: 04/28/03

  • Next message: Daniel Ahlberg: "[Full-Disclosure] GLSA: mgetty (200304-09)"
    To: full-disclosure@lists.netsys.com
    Date: Mon, 28 Apr 2003 11:22:56 +0200
    

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    - - - ---------------------------------------------------------------------
    GENTOO LINUX SECURITY ANNOUNCEMENT 200304-08
    - - - ---------------------------------------------------------------------

              PACKAGE : pptpd
              SUMMARY : buffer overflow
                 DATE : 2003-04-28 09:22 UTC
              EXPLOIT : remote
    VERSIONS AFFECTED : <pptpd-1.1.3.20030429
        FIXED VERSION : >=pptpd-1.1.3.20030429
                  CVE : CAN-2003-0213

    - - - ---------------------------------------------------------------------

    - - From advisory:

    "PPTP packet header contain 16bit length which specifies the full size of
    the packet:

            bytes_this = read(clientFd, packet + bytes_ttl, 2 - bytes_ttl);
            // ...
            bytes_ttl += bytes_this;
            // ...
            length = htons(*(u_int16_t *) packet);
            if (length > PPTP_MAX_CTRL_PCKT_SIZE) {
              // abort
            }

    Looks good so far, except:

            bytes_this = read(clientFd, packet + bytes_ttl, length - bytes_ttl);

    If given length was 0 or 1, the "length - bytes_ttl" result is -1 or -2,
    which means that it reads unlimited amount of data from client into
    "packet", which is a buffer located in stack.

    The exploitability only depends on if libc allows the size parameter to be
    larger than SSIZE_MAX bytes. GLIBC does, Solaris and *BSD don't."

    Read the full advisory at:
    http://marc.theaimsgroup.com/?l=bugtraq&m=104994375011406&w=2

    SOLUTION

    It is recommended that all Gentoo Linux users who are running
    net-dialup/pptpd upgrade to pptpd-1.1.3.20030409 as follows:

    emerge sync
    emerge pptpd
    emerge clean

    - - - ---------------------------------------------------------------------
    aliz@gentoo.org - GnuPG key is available at http://cvs.gentoo.org/~aliz
    - - - ---------------------------------------------------------------------
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.1 (GNU/Linux)

    iD8DBQE+rPLrfT7nyhUpoZMRAjKOAJ9Ztnuvpr6luyiBl+CD2PzlOHBKKgCfWlT+
    A6YGzE9MLzvOleHHY9u1ivA=
    =hi8d
    -----END PGP SIGNATURE-----
    _______________________________________________
    Full-Disclosure - We believe in it.
    Charter: http://lists.netsys.com/full-disclosure-charter.html


  • Next message: Daniel Ahlberg: "[Full-Disclosure] GLSA: mgetty (200304-09)"

    Relevant Pages