| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Complete this checklist. If you answer "No" to any question, do not submit a report:
Include this completed checklist in your report. If you cannot check all boxes, your report will be rejected.
security@tomcat.apache.org - Exclusively for undisclosed security vulnerabilities in Tomcat
Not for: Bug reports (Bugzilla), configuration help (users list), theoretical issues, scanner output, or application vulnerabilities.
These will be rejected without response:
Review the security model to understand what qualifies as a Tomcat vulnerability.
Every report MUST include a complete Tomcat JUnit test case that:
The test must actually work - we will run it. If it doesn't compile or doesn't reproduce the issue, your report will be rejected.
Exception: If a JUnit test case cannot be written for your report, you must provide a clear justification explaining why a test case is not possible, along with a minimal proof of concept that demonstrates the vulnerability.
package org.apache.catalina.security;
import org.junit.Assert;
import org.junit.Test;
import org.apache.catalina.startup.TomcatBaseTest;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.Context;
import org.apache.tomcat.util.buf.ByteChunk;
/**
* Demonstrates [specific vulnerability].
* Attack: [how it works]
* Impact: [security consequence]
*/
public class TestSecurityIssueXXXXX extends TomcatBaseTest {
@Test
public void testVulnerabilityName() throws Exception {
// Setup: Configure Tomcat to expose the vulnerability
Tomcat tomcat = getTomcatInstance();
Context ctx = tomcat.addContext("", null);
Tomcat.addServlet(ctx, "test", new YourTestServlet());
ctx.addServletMappingDecoded("/test", "test");
tomcat.start();
// Attack: Send malicious request
ByteChunk response = new ByteChunk();
int rc = getUrl("http://localhost:" + getPort() + "/test?malicious=payload",
response, null);
// Verify: Demonstrate security impact
Assert.assertNotEquals("Should reject malicious input", 200, rc);
// Or: Assert.assertFalse("Response leaked sensitive data",
// response.toString().contains("secret"));
}
}Include all of the following:
Format: Plain text only (email body or .txt/.java attachments). No .zip, .pdf, .docx, videos, or screenshots.
Allow reasonable time (typically 90+ days) for fix development. We'll work with you on disclosure timing.
Trusted (not security bugs):
Untrusted (potential security bugs):
See the full security model for details.
Thank you for helping keep Apache Tomcat secure through high-quality, actionable vulnerability reports.
The project website is the authoritative source for Apache Tomcat's security policy and disclosure process. This file exists so agents and tooling that look for SECURITY.md in the repository can find the canonical documents.
| Back | FazBrowse Home | New Git URL |