Outdated dependencies with 279 vulnerabilities
- Dominant language
- Java
- Stars
- 385
- Forks
- 72
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 6
Description
I had a look at the dependencies mojito uses and most (if not all of them) are out of date. Most importantly, spring-boot `3.1.x` is [no longer supported](https://spring.io/projects/spring-boot#support). The `3.1.5` version used isn't even the latest `3.1` version. The last available version is `3.1.12`.
For the frontend, looking at the [git blame of the `package.json`](https://github.com/box/mojito/blame/master/webapp/package.json), there is not a single dependency that was updated in the last 6 years! Additionally, nodejs `v8.8.1` and npm `6.11.3` are also far from cutting edge.
Thus, there is now a sizable list of vulnerabilities from the dependencies: [dependency-check-report.zip](https://github.com/user-attachments/files/21772884/dependency-check-report.zip) (I had to zip the HTML file, since GitHub does not allow attaching HTMLs directly)
This report was generated with:
```bash
mvn org.owasp:dependency-check-maven:12.1.3:check -DnvdApiKey=XXX
```
---
In general, I would recommend setting up something like https://github.com/dependabot to help maintaining up-to-date dependencies. I am aware that this is no magic solution and manual intervention will still required (especially when there are breaking changes in dependencies). However, this might help to keep most of the smaller dependencies up-to-date.
Contributor guide
Research direction
Start by reviewing the attached dependency-check report and reproducing it with the shown Maven command. Then inspect webapp/package.json and the reported Spring Boot, Node.js, and frontend dependency versions; the work is done when the dependencies are updated and the resulting vulnerability report is addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, javascript, node.js, spring-boot
- Domain
- build-system, devops, security
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100