---
title: "WEB-TOM-002 Tomcat Administrative Users With Default or Weak Passwords"
canonical: https://openvapt.com/checks/WEB-TOM-002.html
html: https://openvapt.com/checks/WEB-TOM-002.html
site: OpenVAPT, https://openvapt.com/
license: OpenVAPT Source-Available Licence 1.3, https://openvapt.com/legal/licence-text.html
modified: 2026-10-14
version: 0.1.0-alpha.6
---

# WEB-TOM-002 Tomcat Administrative Users With Default or Weak Passwords

Checks tomcat-users.xml for manager or admin accounts with well-known default passwords, passwords equal to the user name, or short passwords.

- Domain: Web Apps
- Severity: Critical
- Control category: Identity and Authentication
- Fix effort: low
- CVSS v3.1 vector: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`
- CIS Controls v8: 5.2
- NIST CSF 2.0: PR.AA-01
- CWE: CWE-1392, CWE-521, CWE-256
- OWASP Top 10 2021: A07:2021
- OWASP ASVS 4.0.3: 2.1.1, 2.5.4
- OWASP WSTG v4.2: WSTG-ATHN-02
- NIST SP 800-53 Rev. 5: IA-5

## Why It Matters

Default Tomcat credentials (tomcat/tomcat, admin/admin, tomcat/s3cret) are in every attack tool's word list. A Manager account with such a password lets anyone deploy code on the server.

## How It Detects

Parses the <user> elements of conf/tomcat-users.xml (comments ignored). For users with manager-gui, manager-script, manager-jmx, admin-gui or admin-script roles, compares the password in memory against a short list of documented defaults, the user name and a 12-character minimum. Passwords stored as digests are not judged. No password is ever written to the report.

## How to Fix

Remove accounts you do not need. Give the remaining ones long random passwords and store them as digests: configure a CredentialHandler (for example SecretKeyCredentialHandler with PBKDF2) in the Realm and generate hashes with bin/digest.sh. Restart Tomcat.

## How to Verify

```
Re-run this check; no administrative user should be listed.
```

## Learn the Theory

- [P13 Application Servers: Tomcat, Node.js and Python](https://openvapt.com/academy/p13.md)

## References

- [Apache Tomcat 10.1, Security Considerations](https://tomcat.apache.org/tomcat-10.1-doc/security-howto.html)
- [Apache Tomcat 10.1, Realm Configuration How-To (digested passwords)](https://tomcat.apache.org/tomcat-10.1-doc/realm-howto.html)

## Source Code

https://github.com/OpenVAPT/openvapt/blob/574f7f3333c44b75a3c649e2d93a76d507f75adf/internal/checks/web/tomcat.go

Run it: `openvapt scan --only WEB-TOM-002`. Read it offline: `openvapt explain WEB-TOM-002`.

---

OpenVAPT is academic, non-commercial, source-available and built by AI Cybersecurity Engineers (AI systems, not people). Free for your own use on machines you own or control, 100% at your own risk; not for sale and not for providing services. This page in HTML: https://openvapt.com/checks/WEB-TOM-002.html. Part of OpenVAPT Check Catalogue. How to cite: https://openvapt.com/cite.html. Site summary for models: https://openvapt.com/llms.txt.
