CVE-2012-3546 — tomcat
Fix: apache/tomcat@f78c0cdCVE-2012-3546 is a CWE-264 vulnerability in org.apache.tomcat:tomcat. EPSS puts its 30-day exploitation probability at 12.0% (96th percentile). A fix is available for org.apache.tomcat:tomcat — see the affected versions and patch details below.
Authentication Bypass in Apache Tomcat
EPSS Exploitation Probability
EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.
Real-World Exposure
org.apache.tomcat:tomcat☕org.apache.tomcat:tomcatReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
org/apache/catalina/realm/RealmBase.java in Apache Tomcat 6.x before 6.0.36 and 7.x before 7.0.30, when FORM authentication is used, allows remote attackers to bypass security-constraint checks by leveraging a previous setUserPrincipal call and then placing /j_security_check at the end of a URI.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.apache.tomcat:tomcat | ≥ 6.0.0&&< 6.0.36 | 6.0.36org.apache.tomcat:tomcat:6.0.36 |
| ☕Maven | org.apache.tomcat:tomcat | ≥ 7.0.0&&< 7.0.30 | 7.0.30org.apache.tomcat:tomcat:7.0.30 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.apache.tomcat:tomcat, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.apache.tomcat:tomcat to 6.0.36 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2012-3546 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like CVE-2012-3546 can be triaged on real exposure rather than presence alone.
Tailored to CVE-2012-3546. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
Tomcat 5.5 has reached the end of its supported upstream life-cycle, and the Apache Tomcat project no longer tests security flaws to determine whether they affect Tomcat 5.5. Red Hat has tested tomcat 5.5 as shipped with Red Hat Enterprise Linux 5 and JBoss Enterprise Web Server 1, and found that it is affected by…
| Product | Fixed in | Advisory |
|---|---|---|
| JBEWP 5 for RHEL 5 | aopalliance-0:1.0-5.2.jdk6.ep5.el5 | RHSA-2013:0196 |
| JBEWP 5 for RHEL 6 | aopalliance-0:1.0-5.3.ep5.el6 | RHSA-2013:0195 |
| JBoss Enterprise BRMS Platform 5.3 | see advisory | RHSA-2013:0221 |
| Red Hat Enterprise Linux 5 | tomcat5-0:5.5.23-0jpp.38.el5_9 | RHSA-2013:0640 |
| Red Hat Enterprise Linux 6 | tomcat6-0:6.0.24-52.el6_4 | RHSA-2013:0623 |
| Red Hat JBoss Enterprise Application Platform 4.3 | see advisory | RHSA-2013:0146 |
| Red Hat JBoss Enterprise Application Platform 4.3 for RHEL 5 | jbossas-0:4.3.0-11.GA_CP10_patch_02.2.ep1.el5 | RHSA-2013:0147 |
| Red Hat JBoss Enterprise Application Platform 5.2 | see advisory | RHSA-2013:0194 |
Frequently Asked Questions
Is CVE-2012-3546 in your dependencies?
O3 Security finds CVE-2012-3546 across Maven dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.