Apache Week issue 289

Apache Week <[email protected]> Thu, 28 Mar 2002 15:08:09 +0000
Newsgroups gmane.comp.apache.apacheweek
Message-ID <[email protected]>
                                APACHE WEEK
                                      
The essential weekly guide for users of the world's most popular Web server.
                         Issue 289: 29th March 2002
                                      
                                 In this issue
                                       
     * Apache 1.3.24 Released
     * Under development
     * In the news
     * Featured articles
       
                            Apache 1.3.24 Released
                                       
     Apache 1.3.24 was released on 22nd March 2002 and is now the latest
     version of the Apache server. The previous release was 1.3.22,
     released on the 24th January 2002. [1]See what was new in Apache
     1.3.23.
     
     Apache 1.3.24 is available in source form for compiling on Unix or
     Windows, for download from the [2]main Apache site or from any
     [3]mirror download site.
     
     This is a security, bug fix and minor upgrade release, with a few
     new features. Users should upgrade if they are running on Windows,
     will be affected by the particular bugs mentioned below, or would
     like to use any of the new features.
     
     Due to security issues, any sites using versions prior to Apache
     1.3.22 should upgrade to at least Apache 1.3.22. [4]Read more about
     all the security issues that affect Apache 1.3.
     
Security issues

     * Apache for Win32 before 1.3.24 allows remote attackers to execute
       arbitrary commands via parameters passed to batch file CGI
       scripts. More details in [5]Apache Week issue 288 or
       [6]CAN-2002-0061
       The problem occurs because the input is not properly validated; it
       is possible to append commands as parameters to the batch file CGI
       script and have the shell interpreter execute them
       The characters % and \r have been added to the dangerous Win32/OS2
       characters list, and the command line is now passed to the
       interpreter double quoted. In addition Apache now introduces
       earlier identification of command.com vs cmd.exe, and treats
       command.com as a 16-bit application
       As additional protection in case future CGI argument
       vulnerabilities are discovered, a new directive CgiCommandArgs off
       has been added to allow administrators to completely disable the
       query argument passing mechanism in Apache
     * A bug was found that could cause invalid hostnames to appear in
       Apache log files. If a double-reverse lookup was performed (for
       example for Allow from .example.com) but failed, then a spoofed
       dns-reverse-address could appear in the logs. Note this bug
       doesn't give any access to protected resources, it only affects
       what gets written to the log file
       
New features

     The main new features in 1.3.24 (compared to 1.3.23) are:
     * Add IgnoreCase keyword to the IndexOptions directive to allow
       filename listings to ignore case
     * The proxy code read chunks from the backend server in a hardcoded
       amount of 8192 bytes. A new directive ProxyIOBufferSize has been
       added to specify the size of the read buffer from the remote
       server
     * Previously the proxy would wait until the response had been
       delivered to the client completely before closing the backend
       connection. Now the backend connection is closed as soon as the
       last byte is read from it, freeing up resources
     * mod_alias writes a warning to the error log if it fixes up a
       incomplete redirection target (such as turning /foo into
       http://host/foo). Since this is a supported operation the message
       has been demoted so that it will only show up at LogLevel Debug
     * When using mod_proxy to access FTP sites it was impossible to
       reach a higher directory than the logged in directory, as
       combinations of /../ are interpreted by the browser and not sent
       to the server. This problem affects other proxies as well. The
       Squid proxy uses a "Squid %2f hack" which has been adapted to work
       in Apache. By prepending /%2f to the path of your request, you can
       make the proxy change the FTP starting directory to / instead of
       starting at the home directory for the logged in user
       
     The main new features that apply to specific platforms are:
     * Provide new logging to assist Win32 users debug CGI scripts. When
       at LogLevel info the cgi command invoked is logged. When at
       LogLevel debug the environment variables are also logged
     * Added a logging module for NetWare, mod_log_nw, as NetWare is
       unable to use the RotateLog utility
     * Added a -e command line directive for NetWare to force all fatal
       configuration file errors to the logger screen. This allows Apache
       to shutdown cleanly and completely on an error condition
       
Bugs fixed

     The following bugs were found in Apache 1.3.23 and have been fixed
     in Apache 1.3.24:
     * Fix a segfault condition in mod_include which could be triggered
       by improper termination of conditional directives such as #if
     * Fix a problem in mod_proxy where the Server header from the
       backend system would be replaced by one from Apache. This violated
       RFC2616. This fix has introduced a further issue which allows
       modules to override the Server header, but this will be fixed in
       the next release
     * There is a problem in mod_proxy where each entry of a duplicated
       header such as Set-Cookie would overwrite the previous value of
       the header, resulting in multiple header values (like cookies)
       going missing. A fix was committed to 1.3.24 but doesn't fix the
       problem
     * Fixes to apxs to allow the -S option to contain quotes, and to
       rebuild apxs when options have been changed
     * The Location response header, used for external redirects, must be
       an absolute URI. The Redirect directive tested for that, but
       RedirectMatch did not and would allow almost anything through
     * Fix a longstanding bug that errors returned by src/Configure would
       not be noticed by the top level configure script. That was bad for
       automated production environments, as errors would pass through
       unnoticed
     * mod_proxy would send a HTTP/1.0 request even though it is now
       compliant with HTTP/1.1
     * A number of other changes have been made to FTP handling in
       mod_proxy including properly escaping file names from directory
       listings, a cleanup to the output HTML, the output of directory
       listings in ASCII to avoid issues with EBCDIC servers, and the
       closing of the data and control channels to the server properly
     * Previous fixes to mod_rewrite in Apache 1.3.23 broke the ability
       to do random balancing. [7]PR#10090, [8]PR#10185
       
     The following bugs relate to specific platforms:
     * The Win32 port has had the remaining cases of blocking network IO
       eliminated
     * A change has been made on TPF to make make the ap_open_logs call
       the same as other platforms and prevent a possible SIGPIPE in
       standalone_main
     * Work around a bug in Windows XP that caused data corruption on
       writes to the network
     * The support for enabling pthreads-based accept() serialization
       using the AcceptMutex configuration directive suffered from a
       serious problem on Solaris platforms as the pthreads library was
       not being linked into the httpd executable. This meant stub
       versions of the mutex functions are used from the C library, which
       resulted in no serialization being enforced
       
                               Under development
                                       
     Shortly after the announcement of 1.3.24 more problems with
     mod_proxy were found. Whilst the release announcement stated that
     handling of multiple Set-Cookie headers was fixed, it was
     discovered that this bug was in fact still present in 1.3.24: a fix
     had been checked in, but a subsequent change then reverted the
     behaviour. Another fix was checked in, which it was hoped would
     finally close the issue. Additionally, a serious problem was
     unearthed with the new HTTP/1.1 support in the proxy: chunked
     responses would be returned to HTTP/1.0 clients, which could give
     the effect of corrupted content in a HTTP/1.0 browser.
     
     The Apache 2.0 tree was tagged ready for a 2.0.34 release this
     week; the release is currently set to wait for an upcoming change
     to the bucket brigades API. A perplexing bug was also fixed in 2.0
     where non-standard HTTP response codes would appear in the
     error_log. This was traced to a mis-match between the return values
     used in the filters interface and those expected: some filters
     returned APR status values, rather than HTTP status codes.
     
                                  In the news
                                       
Sun backs down on Java licensing restrictions

     The Apache Software Foundation [9]announced this week that it had
     reached an agreement with Sun Microsystems over the right to
     implement Java Specifications in open source. The dispute hinged
     around the [10]JSPA (Java Specification Participation Agreement), a
     legal agreement which must be signed when joining the Java
     Community Process (JCP). The ASF headed a lengthy campaign to
     revise the JSPA, which currently allows -- and in some cases
     requires -- several restrictions which have hindered open-source
     Java projects.
     
                               Featured articles
                                       
     In this section we highlight some of the articles on the web that
     are of interest to Apache users.
     
     [11]"Ads in Cache-Friendly Pages" explains how you can have
     cacheable ads while maintaining an accurate count of the hits by
     using redirects. First, it talks about entities and cache control
     so that you can selectively apply cache headers to every entity on
     your Web pages. Then it shows you two methods of implementing the
     ads redirection - by configuring Apache's Redirect directive, and
     by using a Perl script.
     
     Zend.com provides PHP beginners with a tutorial on [12]how to
     encrypt and decrypt information with GnuPG using PHP. It starts off
     by demonstrating how to use GnuPG via the command-line, and then
     proceeds to use GnuPG within a PHP script.
     
     The first installment of [13]"Error Handling In PHP" delves into
     the types of PHP errors you may encounter, before moving on to show
     you how to write some custom error handlers. As usual, the
     Developer Shed supplies many sample scripts to illustrate its
     points.
     
     No matter what platforms or services you are running, the
     fundamentals of vulnerability management remain the same. If you
     are feeling vulnerable lately, you may be interested to read this
     [14]article.
     
     Before you leave us, why not stop by the new [15]Apache Center in
     town, launched by SearchWebManagement.com recently. You may see us
     there too!
       ______________________________________________________________
     
     This issue brought to you by: Gary Benson, Mark J Cox, Joe Orton,
     Min Min Tsan
     Comments or criticisms? Please email us at
     [16][email protected].
     
     [17]Apache Week is copyright 1996-2002 by [18]Red Hat, Inc.

References

   1. http://www.apacheweek.com/issues/02-01-25#apache1323
   2. http://www.apache.org/dist/httpd/
   3. http://www.apache.org/mirrors/
   4. http://www.apacheweek.com/features/security-13
   5. http://www.apacheweek.com/issues/02-03-22#security
   6. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2002-0061
   7. http://bugs.apache.org/index/full/10090
   8. http://bugs.apache.org/index/full/10185
   9. http://jakarta.apache.org/site/jspa-agreement.html
  10. http://www.jcp.org/aboutJava/communityprocess/JSPA.pdf
  11. http://linux.oreillynet.com/pub/a/linux/2002/03/21/adfriendly.html
  12. http://www.zend.com/zend/tut/tutorial-brogdon.php
  13. http://www.devshed.com/Server_Side/PHP/ErrorHandling/ErrorHandling1/page1.html
  14. http://www.infosecuritymag.com/2002/feb/features_vulnerable.shtml
  15. http://searchwebmanagement.techtarget.com/bestWebLinks/0,289521,sid27_tax292068,00.html
  16. mailto:[email protected]
  17. http://www.apacheweek.com/
  18. http://www.redhat.com/

----------------------------------------------------------------------
To unsubscribe: https://listman.redhat.com/mailman/listinfo/apacheweek
or send the message   "unsubscribe"  to  [email protected]
----------------------------------------------------------------------