-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frightening amount of security issues in latest v4.x and v5.x #634
Comments
This could be mitigated by updating dependencies. But for now this project is not receiving updates (refer to discussion #613). |
@glenrobson is out of the office this week, but per the last comment in the linked thread just above, the first thing he'll be doing to help support this project upon his return is working on dependency updates -- stay tuned! |
As Josh mentions I'm looking at updating the library versions. I'm making some progress but come across the following issue:
I've got the docker version working with the same pom file but testing it outside of docker I get this missing package issue. Pointers welcome! |
Searching for the mentioned lib mostly brings up this package: Maybe it got a name change since then? |
Thanks, @mrghosti3 thats definitely an option but the fact it works using the docker file makes me think its coming in from somewhere else but I haven't spotted it yet... |
Then could it be cache issue? Is the container version compiled during image build? |
I don't think so as the container builds cantaloupe with these lines:
and when I run them locally I get:
which interestingly includes:
which is the missing library... Also just updated my version of mvn to the latest but that didn't fix it... |
It looks like it was some sort of local maven cache issue. I went back to
and that solved the missing jai files. Thanks @mrghosti3! |
No problem. Looking forward to a merge. |
Just making notes before I drop off.
Remaining security issues and JAR locations:
|
Currently on the following issue with:
Versions 1.4.198 and up cause:
Which looks to be a change that was made between 1.4.197 and 198 where it will throw the above exception if the setBlob method is called before the blob is populated with the data. Switching this to be written in the close function seems to fix this issue: glenrobson@85a993a. |
Next issue:
Updating to:
Seemed to fix this. |
Currently at: [ERROR] Tests run: 3932, Failures: 1, Errors: 16, Skipped: 27 First:
It looks like the test file (src/test/resources/images/tif-xmp.tif) contains the following XMP data:
Which has an empty
It looks like jena 4.8 brought in changes to the way IRI was structured so its no longer allowed to have about="". To fix this I added a base URI param to the test:
Which produces the following about which is no longer empty:
This will cause problems if the test fixture is given a absolute IRI but will work for the current fixture. If people are using the XMP headers for their images they will have to make sure that it has a populated about attribute. Include in RELEASE_NOTES for the new version. |
2nd:
Similar problem but this one is embedded in edu.illinois.library.cantaloupe.processor.codec.jpeg.Util.readModel(Util.java:125) where the model is read from a JPEG file. The change adds a baseURI if the about is empty:
Changed this to a more robust test which can handle spaces around the about attribute. Now it checks the exception and tries it again adding a Base URI:
|
3rd:
Same fix as above in edu.illinois.library.cantaloupe.image.Metadata.loadXMP():
|
4th:
Fixed by the JPG metadata fix. |
5th:
Fixed by adding a baseURI:
|
6th:
Fixed by previous fixes. |
7th:
Fixed by previous fixes |
8th:
Fixed by reverting htmlunit-driver to 2.21 rather than pinning it to selenium version in glenrobson@9fdabba |
9th:
Fixed by previous fixes. |
Came across an issue with the TurboJPEG tests:
Turned out to be an issue with the version of TurboJPEG. I couldn't get version 3 to work but I installed
|
Down to three errors:
Second and third were issues where the RDF namespace wasn't defnied in the XMP so I added it the namespace in the test XML: glenrobson@962dbff and glenrobson@cb8997c The first issue was a problem where the new Jena code returned a RiotException rather than the expected IllegalArgumentException glenrobson@a03e63c |
Thats raised a few more issues:
Fixed in glenrobson@3b6b762 and was due to Ruby 3 moving |
Agh! It looks like Grok has removed the debian release we were using in the automated testing:
The releases only contain version 11 now: https://github.com/GrokImageCompression/grok/releases/ Grok is aviliable in Ubuntu versions (lunar, mantic and noble): https://packages.ubuntu.com/lunar/grokj2k-tools but not in jessie which is which we are currently using (ubuntu:latest from https://hub.docker.com/_/ubuntu) So its either update the DockerFile to use lunar or install grok from source... I've gone for updating ubuntu to use lunar in glenrobson@9556c9a |
Build all green: So I've contacted the folks at Illinois to see how we can get this released. |
So what's the status of this release? Were they too busy to do the release? Or was there a problem with your PR? Perhaps the best way is to assign you or someone with time and interest as a project maintainer to increase the projects' bandwidth? |
Hi @janhoy, I'm afraid its on me. I was given permssions to create a release before chritsmas but have been buried in other work. I will try and get the release done next week. |
This will teach me to leave this and not finish the release sooner but there are some more security issues:
|
Fixes:
Can't fix:
Down to:
|
So I think this is done now with the release of 5.0.6: https://github.com/cantaloupe-project/cantaloupe/releases |
I just ran Trivy (a vulnerability scanner) against our docker image with Cantaloupe v4.1.11 (the latest v4 version). The results are a little frightening:
I also tried v5.0.5, which gives me a slightly better, but still shocking:
What can we do to mitigate these vulnerabilities? Does anybody else face these issues?
The text was updated successfully, but these errors were encountered: