Author: buildbot
Date: Mon Jul 22 15:48:01 2013
New Revision: 870602
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/security.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/security.html
==============================================================================
--- websites/production/cxf/content/docs/security.html (original)
+++ websites/production/cxf/content/docs/security.html Mon Jul 22 15:48:01 2013
@@ -130,7 +130,7 @@ Apache CXF -- Security
<div id="ConfluenceContent"><p><span style="font-size:2em;font-weight:bold">
Securing CXF Services </span></p>
<div>
-<ul><li><a shape="rect" href="#Security-Securetransports">Secure
transports</a></li><ul><li><a shape="rect"
href="#Security-HTTPS">HTTPS</a></li></ul><li><a shape="rect"
href="#Security-WS%5CSecurity%28includingUsernameTokenandX.509Tokenprofiles%29">WS-*
Security (including UsernameToken and X.509 Token profiles)</a></li><li><a
shape="rect" href="#Security-WSTrust%2CSTS">WS-Trust, STS</a></li><li><a
shape="rect" href="#Security-SAMLWebSSO">SAML Web SSO</a></li><li><a
shape="rect" href="#Security-OAuth">OAuth</a></li><li><a shape="rect"
href="#Security-Authentication">Authentication</a></li><ul><li><a shape="rect"
href="#Security-JAASLoginInterceptor">JAASLoginInterceptor</a></li><li><a
shape="rect" href="#Security-Kerberos">Kerberos</a></li></ul><li><a
shape="rect" href="#Security-Authorization">Authorization</a></li><li><a
shape="rect" href="#Security-ControllingLargeRequestPayloads">Controlling Large
Request Payloads</a></li><ul><li><a shape="rect"
href="#Security-XML">XML</a></li
><li><a shape="rect"
>href="#Security-Multiparts">Multiparts</a></li></ul><li><a shape="rect"
>href="#Security-Largedatastreamcaching">Large data stream
>caching</a></li></ul></div>
+<ul><li><a shape="rect" href="#Security-Securetransports">Secure
transports</a></li><ul><li><a shape="rect"
href="#Security-HTTPS">HTTPS</a></li></ul><li><a shape="rect"
href="#Security-WS%5CSecurity%28includingUsernameTokenandX.509Tokenprofiles%29">WS-*
Security (including UsernameToken and X.509 Token profiles)</a></li><li><a
shape="rect" href="#Security-WSTrust%2CSTS">WS-Trust, STS</a></li><li><a
shape="rect" href="#Security-SAMLWebSSO">SAML Web SSO</a></li><li><a
shape="rect" href="#Security-OAuth">OAuth</a></li><li><a shape="rect"
href="#Security-Authentication">Authentication</a></li><ul><li><a shape="rect"
href="#Security-JAASLoginInterceptor">JAASLoginInterceptor</a></li><li><a
shape="rect" href="#Security-Kerberos">Kerberos</a></li></ul><li><a
shape="rect" href="#Security-Authorization">Authorization</a></li><li><a
shape="rect" href="#Security-ControllingLargeRequestPayloads">Controlling Large
Request Payloads</a></li><ul><li><a shape="rect"
href="#Security-XML">XML</a></li
><li><a shape="rect" href="#Security-XMLCXFversionspriorto2.7.4">XML - CXF
>versions prior to 2.7.4</a></li><li><a shape="rect"
>href="#Security-Multiparts">Multiparts</a></li></ul><li><a shape="rect"
>href="#Security-Largedatastreamcaching">Large data stream
>caching</a></li></ul></div>
<h1><a shape="rect" name="Security-Securetransports"></a>Secure transports</h1>
@@ -260,6 +260,19 @@ Apache CXF -- Security
<h2><a shape="rect" name="Security-XML"></a>XML</h2>
+<p>Starting with CXF 2.7.4, CXF now requires use of a StAX parser that can
provide fine grained control over the size of the incoming XML. The only
parser that will currently work is Woodstox 4.2 or newer. The main reason is
there are a series of DOS attacks that can only be prevented at the StAX parser
level. There is a "org.apache.cxf.stax.allowInsecureParser" System Property
that can be set to true to allow using an insecure parser, but that is HIGHLY
not recommended and doing so would also now allow the settings described in
this section.</p>
+
+<p>CXF has several default settings that will prevent malicious XML from
causing various DOS failures. You can override the default values if you know
you will have incoming XML that will exceed these limits. These settings can
be set as Bus level properties, endpoint level properties, or even per request
via an interceptor. </p>
+
+<div class="table-wrap">
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh">Setting</th><th colspan="1" rowspan="1"
class="confluenceTh">Default</th><th colspan="1" rowspan="1"
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">org.apache.cxf.stax.maxChildElements</td><td colspan="1"
rowspan="1" class="confluenceTd">50000</td><td colspan="1" rowspan="1"
class="confluenceTd">Maximum number of child elements for a given parent
element</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">org.apache.cxf.stax.maxElementDepth</td><td colspan="1"
rowspan="1" class="confluenceTd">100</td><td colspan="1" rowspan="1"
class="confluenceTd">Maximum depth of an element</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">org.apache.cxf.stax.maxAttributeCount</td><td
colspan="1" rowspan="1" class="confluenceTd">500</td><td colspan="1"
rowspan="1" class="confluenceTd">Maximum number of attributes on a single
element</td></
tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">org.apache.cxf.stax.maxAttributeSize</td><td colspan="1"
rowspan="1" class="confluenceTd">64K</td><td colspan="1" rowspan="1"
class="confluenceTd">Maximum size of a single attribute</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd">org.apache.cxf.stax.maxTextLength</td><td colspan="1"
rowspan="1" class="confluenceTd">128M</td><td colspan="1" rowspan="1"
class="confluenceTd">Maximum size of an elements text value</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd">org.apache.cxf.stax.maxElementCount</td><td colspan="1"
rowspan="1" class="confluenceTd">Long.MAX_VALUE</td><td colspan="1" rowspan="1"
class="confluenceTd">Maximum total number of elements in the XML
document</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">org.apache.cxf.stax.maxXMLCharacters</td><td colspan="1"
rowspan="1" class="confluenceTd">Long.MAX_VALUE</td><td colspan="1" rowspan="1"
class="confluenceTd">Maximum total number
of characters parsed by the parser</td></tr></tbody></table>
+</div>
+
+
+
+
+<h2><a shape="rect" name="Security-XMLCXFversionspriorto2.7.4"></a>XML - CXF
versions prior to 2.7.4</h2>
+
<p>Endpoints expecting XML payloads may get <a shape="rect"
class="external-link"
href="http://svn.apache.org/repos/asf/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/security/DepthRestrictingStreamInterceptor.java">DepthRestrictingInterceptor</a>
registered and configured in order to control the limits a given XML payload
may not exceed. This can be useful in a variety of cases in order to protect
against massive payloads which can potentially cause the denial-of-service
situation or simply slow the service down a lot.</p>
<p>The complete number of XML elements, the number of immediate children of a
given XML element may contain and the stack depth of the payload can be
restricted, for example:</p>