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
Relevant commits for CVE-2020-28473 #1331
Comments
|
It is just 57a2f22 really. As an explanation: Bottle (as many other frameworks) followed an old standard that allowed I have no idea on how to actually exploit this, really, and I disagree with the classification as a security vulnerability in Bottle. An exploit would require a strangely configured caching proxy and an application that is vulnerable in a very very specific way. Both are outside of the control or responsibility of a web framework. I'd really be interested in a real-world example... But since |
|
Hello 👋🏻
Aah, thanks! :)
That does make sense! However, though you'd know, the POC is available at https://snyk.io/vuln/SNYK-PYTHON-BOTTLE-1017108 (and the backstory in the first paragraph of https://snyk.io/blog/cache-poisoning-in-popular-open-source-packages/). That said, even though it has been classified as a security vulnerability, it has a lower CVSS score (of 5.9). So hopefully it's not something very exploitable but for us, it's always safer to backport this to older releases of Debian! :) Either way, thank you so much for your help! ❤️ |
|
I know the POC and the reasoning behind the blog post (we discussed this topic with synk) but my issue is with the wording:
This sounds like any application using bottle and a caching proxy is "vulnerable" by default. That is not true. There are two very important and also IMHO unlikely requirements that are only mentioned very vague or simply assumed to be given by the blog article and CVE:
The whole issue feels fabricated and a bit clickbaity to be honest. This CVE is not about a vulnerability in bottle, it is about a quirk that happens to be part of a complex and somewhat theoretical attack on a (purely hypothetical) application that is vulnerable in itself and also sits behind a misconfigured caching proxy. This could have been a simple bug report, but there is no fun in that I suppose. |
commit identification from bottlepy/bottle#1331
|
Hi @defnull,
I hear you. I really do. |
|
No, that's be unfair on my side. There was a lot of communication with Snyk, and I acknowledge this issue by patching it. There was non-standard behavior in bottle that allowed this scenario. So, the CVE or article are not untrue, just far-fetched and strangely worded (IMHO). Also, the CVE is out already. All the people that have to burn time on this already burned it. People searching for it will find this issue and get the full story. That's fine. We discussed other attach scenarios as well. There were even less related to bottle, I expressed my concerns, and they did not release a CVE. So, Snyk was communicative and professional, you have to give them that. For the curious: One of them involved "parameter cloaking" if a GET request contained form-data in its body, and the application used I am so annoyed by this because Bottle now has three CVEs attached to it. All three are based on attack scenarios that involve a vulnerable application (plus a small quirk in bottle), but there were not filed against the vulnerable applications. Instead, there were filed against a web framework that does not magically prevent developers from writing vulnerable applications. I disagree with this kind of CVEs, but they are common. There is a whole industry based in CVEs, and even websites that award points to 'security researchers' based on published CVEs. I's a game and a business now. The meaning of CVEs is watered down (IMHO). Again, I am tankful that Snyk contacted me, that they were communicative and the process was very professional. They listened, I listened, and now there is a CVE that I would not have issued, but I can accept that they did. I'm disappointed by the state of security research and CVE handling in general, not by Snyk in particular. Comparing the three CVEs for bottle, Snyk handled it the best. No issues there. |
|
Aha, thanks for filling me/us in here! However, what's done is done and hopefully next time onward, there'll be at least a lesser number of such incidents (if not none). Either way, thank you for your work and handling this! \o/ |
Hi @defnull,
I'm trying to backport the patch for CVE-2020-28473 to v12.7 and v12.13 (as a part of Debian LTS and ELTS) and thus I am trying to get relevant commits for doing so.
As I see 0.12.18...0.12.19, I am trying to figure what should be enough to backport to truly fix the CVE? Could you, therefore, point me to those commits?
The text was updated successfully, but these errors were encountered: