<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Apache Logging Services</title>

    <link href="css/asciidoctor-default.css" rel="stylesheet" type="text/css" />
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <link href="css/site.css" rel="stylesheet" type="text/css" />

    <script src="js/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/site.js"></script>

</head>

<body>
<div class="navbar">
    <div class="navbar-inner">
        <div class="container">
            <a class="brand" href="https://logging.apache.org">Apache Logging Services&trade;</a>
            <ul class="nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="guidelines.html">Guidelines</a></li>
                        <li><a target="_blank" href="charter.html">Charter</a></li>
                        <li><a target="_blank" href="team-list.html">Team</a></li>
                        <li><a target="_blank" href="mailing-lists.html">Mailing lists</a></li>
                        <li><a target="_blank" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
                        <li><a target="_blank" href="what-is-logging.html">What is logging?</a>
                        </li>
                    </ul>
                </li>
            </ul>
            <ul class="nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Projects<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="chainsaw/2.x/index.html">Apache chainsaw</a></li>
                        <li><a target="_blank" href="log4cxx">Apache log4cxx</a></li>
                        <li><a target="_blank" href="log4j/2.x/index.html">Apache log4j</a></li>
                        <li><a target="_blank" href="log4j-audit/latest/index.html">Apache log4j-audit</a></li>
                        <li><a target="_blank" href="log4j/kotlin/index.html">Apache log4j Kotlin API</a></li>
                        <li><a target="_blank" href="log4j/scala/index.html">Apache log4j Scala API</a></li>
                        <li><a target="_blank" href="log4net">Apache log4net</a></li>
                    </ul>
                </li>
            </ul>
            <ul class="nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dormant<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="log4j/1.2/index.html">Apache log4j 1.x</a></li>
                        <li><a target="_blank" href="log4j/extras/index.html">Apache log4j 1.x extras</a></li>
                        <li><a target="_blank" href="log4php">Apache log4php</a></li>
                    </ul>
                </li>
            </ul>

            <ul class="nav pull-right">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a target="_blank" href="https://www.apache.org/">Home</a></li>
                        <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                        <li><a target="_blank" href="https://www.apache.org/licenses/">License</a></li>
                        <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                        <li><a target="_blank" href="https://www.apache.org/events/current-event.html">Current Events</a></li>
                        <li><a target="_blank" href="https://www.apache.org/security/">Security</a></li>
                        <li><a target="_blank" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</div>

<div class="container">
    <div class="content">
        <h2>Reporting New Security Problems with Apache Logging Projects</h2></h2>
<p>The Apache Software Foundation takes a very active stance in eliminating security problems and denial of service attacks against its products.</p>
<p>We strongly encourage folks to report such problems to our private security mailing list first, before disclosing them in a public forum.</p>
<p>Please note that the security mailing list should only be used for reporting undisclosed security vulnerabilities and managing the process of fixing such vulnerabilities. We cannot accept regular bug reports or other queries at this address. All mail sent to this address that does not relate to an undisclosed security problem in our source code will be ignored.</p>
<p>If you need to report a bug that isn't an undisclosed security vulnerability, please use the project's issue tracker.</p>
<p>The private security mailing address is: <a href="mailto:%73%65%63%75%72%69%74%79%40%61%70%61%63%68%65%2E%6F%72%67">security@apache.org</a></p>
<h2>Asking Questions About Known Security Problems</h2>
<p>Questions about:</p>
<ol>
<li>if a vulnerability applies to your particular application</li>
<li>obtaining further information on a published vulnerability</li>
<li>availability of patches and/or new releases</li>
</ol>
<p>should be addressed to the users mailing list. Please see the <a href="/mailing-lists.html">mailing lists page</a> for details of how to subscribe.</p>
<h2>Known Security Vulnerabilities</h2>
<p>Known security vulnerabilities fixed in released versions of Apache Logging projects are listed in specific pages for each project.</p>
<p>If you have encountered an unlisted security vulnerability or other unexpected behaviour that has security impact, or if the descriptions in one of the pages are incomplete, please report them privately to the Apache Security Team. Thank you.</p>
<p>Errors and Ommissions</p>
<p>Please report any errors or omissions to <a href="/mailing-lists.html">the dev mailing list</a> .</p>

    </div>

<div class="footer">
        <p>
            Copyright © 2017-2022 <a href="https://www.apache.org" target="external">The Apache Software Foundation</a>.
            Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0"
            target="external">Apache Software License, Version 2.0</a> Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
        </p><p>
            Apache, Apache chainsaw, Apache log4cxx, Apache log4j, Apache log4net, Apache log4php and the Apache
            feather logo are trademarks of The Apache Software Foundation.	Oracle and Java are registered trademarks
            of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
        </p><p>
            Site powered by <a href="https://getbootstrap.com/" target="external">Bootstrap</a>
            and <a href="https://jquery.com/" target="external">jQuery</a>.
        </p>
</div>
</div>
</body>
</html>
