-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Please release 1.3.1 to fix CVE-2023-45853 (9.8 CRITICAL) #868
Comments
@madler: Can you do it? Thanks in advance. |
* [ASL-4412] Bump asl-pages to version with fixed hint text * [ASL-4412] Bump asl-pages to version with fixed hint text * [ASL-4412] Run `npm audit fix` * [ASL-4412] Allowlist zlib vulnerability until a fix is released madler/zlib#868
Any expected timeline for a fix for CVE-2023-45853? |
I may put out a release soon, but please note that minizip is not part of zlib. The source code is provided in the contrib directory of the zlib distribution, along with several other such contributions, as a courtesy. This is not a zlib vulnerability. |
Sure, but the problem is, that zlib is bundled with minizip in most of the linux distributions (Ubuntu, Debian ...). So can you please release 1.3.1 with the fix? |
@madler: I think that you can create a GitHub organization for zlib, and move contrib in external repository, it will be better to manage :) |
In the Debian package, the source code to minizip is bundled as the |
For whatever reason we also ship a binary of minizip as a separate package, and there's some other packages have copied the source. |
Yes, BDBA identifies the conda-forge zlib packageas vulnerable. But I could assume that in fact BDBA scan is not very smart and just compares the product version with the vulnerabilities from NVD database and it doesn't actually scan the bits themselves. Therefore, it would be great to get confirmation that, for example, the package created by conda-forge may not actually even contain this vulnerability since it doesn't content minizip bits inside |
@ekomarova, @mswilson would you mind taking the discussion to conda-forge? I believe you are slightly off-topic. This issue is about creating a |
Do not forget that minizip is included in zlib, it is for this, a lot of people ask a new release build. |
Since when did a contrib directory start being "part of" a package? I seem to have missed that announcement. The CVE should just be closed as invalid since it has nothing to do with zlib. |
It's a shame that 3 months later we are still having ideological discussions for something that is altogether not very hard to resolve:
Why is the mere fact that the contrib content has changed not enough to create a new release? I get that no real change in zlib would be included in this release...but just a minor release to accommodate for the contrib change...doesn't sound like a big ask. I tried working around the issue too. One would think that it should be trivial to write a Dockerfile that replaces the pulled in zlib from the base image with a self-built version based on the develop branch...but I was surprised to see there is literally no documentation on how to do this. I could not find anyone to give me useful info here either so did some trial an error myself with my limited knowledge...but no success... I am ignoring the vulnerability scanner for now, but our biggest corporate sponsor is not liking it at all... |
Why would you replace a zlib that isnt affected? It is good that this isn't released because it shows how fundamentaly broken current CVE system has become, and how it over and over again is abused. As another example, take a look at curl and all invalid CVEs it has to fight. If you have something that ships a broken minizip, take it up with them (they shouldn't be shipping anything as compiled from a contrib directory). The only ridiculous thing here is the amount of people that think a invalid CVE is something that needs to be resolved by a release. |
That's literally what we're doing here. zlib ships a broken minizip. |
Nope, zlib contains a contrib directory.
|
Go to zlib.net, download the first link under "The current release is publicly available here:". This is what zlib SHIPS, this is the deliverable that everybody who downloads zlib gets. This contains the vulnerable code. Therefore it is exactly:
But @orbatec said it best
|
I might be wrong...
Agreed, mark the CVE as invalid, as it should be, done, no release needed. |
minizip is not built as part of the default zlib, however as discussed much earlier it is built and shipped as a separate binary package by some distros which means the source package for zlib ends up having an issue even though the binaries with zlib itself are fine. |
Those distros is the ones with problems, not zlib. |
If you go to the page and download the deliverable, you have the vulnerable code. It doesn't matter if you "define" it differently. The fact is, the thing you've downloaded IS zlib for all intents and purposes. If you don't want to be responsible for something, don't deliver it. The CVE is accurate. I'm sorry you don't want to hear this. |
I don't really care about zlib, but I do see CVE system as broken due to abuse. The fact is still that contrib is not something that should be used, and especially not packaged (read distributed in a form meant for installation), without the one doing so taking responsibility. Every instance we see here about zlib being marked as vulnerable in systems not even having minizip is proof of the CVE being invalid. If anyone cared they would mark minizip as vulnerable, not zlib. The broken CVE system needs to be fixed. Not non broken packages. |
If the If there are no binary packages named If there are binary packages labelled Lastly, vulnerability scanners should not rely on package installation metadata to determine if a system is vulnerable, but instead on binary signatures, just like malware scanners. |
I think this discussion has lost focus... No one says that the maintainer has to release a fix, it just would be very very helpful for a lot of people, despite the fact that it might or might not be a good idea for a packaging systems to compile things from |
Out of curiosity, which binary |
In unstable the zlib source package in Debian (and derivatives that don't change this) also builds minizip and libminizip binary packages using what's in contrib (minzip does have some direct users). eg, https://packages.debian.org/sid/minizip |
So the CVE should be only be attributed, at least with CRITICAL severity, to the libminizip binary package, and maybe with moderate priority to any other packages that include the source. Does the conceptual model underneath CVEs support assigning different severities to individual packages, or package types (source vs binary)? Or could two CVEs have been created, a critical one for |
AFAICT (certainly here) they just track the source. |
The CVE system itself is not designed to attribute a given vulnerability to a package. Its purpose is only to give a specific publicly known vulnerability a common identifier. Nothing more. CPE is a component of the CVE ecosystem that can be used to enumerate software and configurations that may embody a publicly known vulnerability. There is a CPE for Unfortunately this is an example of the systemic problems we're dealing with when the canonical upstream for a given piece of code is unclear, and information is lost: Debian patched their msw@carbon:~/git/zlib/contrib/minizip$ git rev-parse HEAD
36e369e1a54b35a978dc584496af69a07ec2d71a
msw@carbon:~/git/zlib/contrib/minizip$ ls /tmp/moo
ls: cannot access '/tmp/moo': No such file or directory
msw@carbon:~/git/zlib/contrib/minizip$ ./miniunz ~/Downloads/traversal.zip
MiniUnz 1.1, demo of zLib + Unz package written by Gilles Vollant
more info at http://www.winimage.com/zLibDll/unzip.html
/home/msw/Downloads/traversal.zip opened
extracting: /tmp/moo
msw@carbon:~/git/zlib/contrib/minizip$ ls /tmp/moo
/tmp/moo The way that CVE and CPE are designed for security and software development practitioners, it would be appropriate to tag the source code distribution of Unfortunately, CVEs have taken a life of their own for software users (consumers), and this introduces downsides in its adoption for software producers. As soon as the Software users have to scurry to apply updates that are effectively no-ops, sometimes under extreme time pressure when the NVD has a 9.8 CVSSv3 score for a given CVE. And when there's no new source code version released that satisfies the CPE pattern matcher (so that the scan report comes back green), end-users come knocking on the door of maintainers that are volunteering their own time to make new releases. In any case, upon discovery of this non-upstream'ed fix in Debian's packaging of How this slipped by "ZipSlip", I have no idea. |
Zlib 1.3.1 has been released (2024-01-22): Thanks @madler. |
@madler
It looks like the fix is already in develop: See #843 and 73331a6
We only new a new release :)
See also: https://nvd.nist.gov/vuln/detail/CVE-2023-45853
The text was updated successfully, but these errors were encountered: