This project is designed to test Dependabot's ability to detect and report security vulnerabilities in Java dependencies.
This project includes 10 intentionally vulnerable dependencies:
- CVE-2021-44228 (Log4Shell) - Critical RCE vulnerability
- CVE-2021-45046, CVE-2021-45105 - Additional Log4j vulnerabilities
- Severity: Critical
- Multiple CVEs including directory traversal and RCE vulnerabilities
- Severity: High
- Multiple deserialization vulnerabilities
- Various CVEs related to unsafe deserialization
- Severity: High/Critical
- CVE-2015-6420 - Remote code execution via deserialization
- Severity: Critical
- Multiple RCE vulnerabilities
- Various CVEs affecting this version
- Severity: Critical
- Multiple security vulnerabilities
- Information disclosure and other issues
- Severity: Medium/High
- Multiple CVEs including potential code execution
- Severity: Medium/High
- Multiple security vulnerabilities
- SSL/TLS and authentication issues
- Severity: Medium/High
- CVE-2016-1000031 - Denial of Service vulnerability
- Severity: High
- CVE-2018-10054, CVE-2018-14335 - Remote code execution
- Severity: Critical
cd dependabot-test
mvn clean compilemvn exec:java -Dexec.mainClass="com.example.vulnerable.VulnerableApp"- Push this code to a GitHub repository
- Enable Dependabot security alerts in the repository settings
- Dependabot should detect and create alerts for all 10 vulnerable dependencies
- Dependabot should create pull requests to update these dependencies to secure versions
To fix these vulnerabilities, update to the following minimum versions:
- Log4j: 2.17.1 or later
- Spring Framework: 5.3.20 or later
- Jackson Databind: 2.13.4 or later
- Apache Commons Collections: 3.2.2 or use Collections4
- Apache Struts: 2.5.30 or later
- Apache Tomcat: 8.5.78 or later
- Hibernate Validator: 6.2.3 or later
- MySQL Connector: 8.0.28 or later
- Apache Commons FileUpload: 1.3.3 or later
- H2 Database: 2.1.210 or later
This code is for educational and testing purposes only. It should never be used in any production environment or with real user data.