Skip to content

CVE-2016-1000027 -- alternative approach #30958

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
baiadrandy opened this issue Jul 27, 2023 · 5 comments
Closed

CVE-2016-1000027 -- alternative approach #30958

baiadrandy opened this issue Jul 27, 2023 · 5 comments
Labels
status: duplicate A duplicate of another issue

Comments

@baiadrandy
Copy link

We have an incredible amount of customers that complain about this CVE and the response from here is to force everyone to jump to JDK 17.
OR to tell all our customers that trust Spring, this CVE is not an issue because it is deprecated and trust us that we are not calling this.
Well, that really doesn't cut the mustard with a lot of our customers and switching all of our code to JDK 17 is not a quick job.

What about this?

If you produce an alternative spring-webEX.jar that has those vulnerable classes removed?
Then for all those developers that don't want to justify why we ship code with this CVE, they will exclude the original spring-web and depend on spring-webEX.

For all projects that rely on those deprecated classes can still use spring-web, but for those others that don't want that CVE and CANT go to JDK 17, you provide a solution.

I hope you can appreciate the dilemma we are in.

Sincerely,

Randy

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Jul 27, 2023
@bclozel
Copy link
Member

bclozel commented Jul 27, 2023

Duplicates #24434

This solution has been discussed already and this is not a sustainable approach. Ignoring the CVE by configuring tools (after assessing the apps) and pressuring vendors is still the best choice right now. Again, the official MITRE entry is not scored and is only meant for documentation purposes. The fact that the NVD chose to score it (and how...) is totally unrelated unfortunately. The GitHub entry on the other hand is quite well documented: GHSA-4wrc-f8pq-fpqp

In a way, this issue remains with modern Spring versions as you don't need any Spring class to be vulnerable to this.

@bclozel bclozel added status: duplicate A duplicate of another issue and removed status: waiting-for-triage An issue we've not yet triaged or decided on labels Jul 27, 2023
@bclozel bclozel closed this as not planned Won't fix, can't repro, duplicate, stale Jul 27, 2023
@baiadrandy
Copy link
Author

Duplicates #24434

This solution has been discussed already and this is not a sustainable approach. Ignoring the CVE by configuring tools (after assessing the apps) and pressuring vendors is still the best choice right now. Again, the official MITRE entry is not scored and is only meant for documentation purposes. The fact that the NVD chose to score it (and how...) is totally unrelated unfortunately. The GitHub entry on the other hand is quite well documented: GHSA-4wrc-f8pq-fpqp

In a way, this issue remains with modern Spring versions as you don't need any Spring class to be vulnerable to this.

Could you remove the Spring remoting package from the spring-web artifact and call this Spring-WebEX?
Wont that address this issue if we dont rely on those classes? This way HTTPInvoker is not even there?

@bclozel
Copy link
Member

bclozel commented Jul 27, 2023

This is not a sustainable approach. Not only this sets a precedent for other CVEs, but this also asks a lot of practical questions for our ecosystem in general.
This means that all other Spring projects and libraries would need to depend on that new dependency, not the usual spring-web one. Otherwise consumers would need an elaborate exclusion system for lots of dependencies. Having both on the classpath with possibly different versions will create problems as well.

Finally, changing our position here so late in the 5.3.x generation will only create uncertainty and will add credibility to this report. For the sake of the community we should improve the CVE process, not reward bad behavior.

@jdomigon
Copy link

I acknowledge I'm late in this discussion and that the issue seems a bit "heated" by now.

Just another idea: an alternative option instead of removing the Spring remoting package could be disabling in runtime the instantiation of the vulnerable classes unless a well-known system property (or a similar mechanism) is set.

@bclozel
Copy link
Member

bclozel commented Nov 27, 2024

@jdomigon it's not heated at all. Spring Framework 5.3.x and 6.0.x generations are both out of OSS support.

This means that unless you are a commercial customer getting commercial releases, you are depending on a 5.3.x or 6.0.x release that is vulnerable to other, actual and actionable CVEs.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
status: duplicate A duplicate of another issue
Projects
None yet
Development

No branches or pull requests

4 participants