Skip to content
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

Fix Request: CVE-2021-3538 #123

Open
bearaujus opened this issue Nov 14, 2023 · 10 comments
Open

Fix Request: CVE-2021-3538 #123

bearaujus opened this issue Nov 14, 2023 · 10 comments

Comments

@bearaujus
Copy link

Dependency go:github.com/satori/go.uuid:v1.2.0 is vulnerable
CVE-2021-3538 9.8 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) vulnerability
Results powered by Checkmarx(c)

@hbelmiro
Copy link

It seems it was already fixed in d91630c.
@satori can we have a new release with this fix?

@cameracker
Copy link

Hey guys, this package is totally dead. You're better of migrating.

@nickdnk
Copy link

nickdnk commented Sep 18, 2024

I've been investigating this issue.

1.2.0 never included the vulnerable code. The vulnerability was introduced in a commit made after 1.2.0 was released (0ef6afb), and no version was ever released after 1.2.0.

You should still migrate to an upgraded package, but as far as I can tell, 1.2.0 never had any problems (or, at least not the ones listed in the CVE).

@cameracker
Copy link

cameracker commented Sep 18, 2024

@nickdnk some additional context is that at the time the package manager ecosystem was in flux and there were a couple of tools that allowed users to easily use or "lock" to master. It should be said that's inadvisable, but there's a possibility of vulnerable versions in use in the wild.

I wonder if the posts clarifying the vulnerability are ultimately constructive. It bewilders me why people still use this package despite that huge amount of warning of it being abandonware and there being several superior replacements, some of which are drop in replacements. The greatest service the maintainer could do for the go community at this point would be to mark the repo archived and put it 6 feet under where it should be.

@nickdnk
Copy link

nickdnk commented Sep 18, 2024

@nickdnk some additional context is that at the time the package manager ecosystem was in flux and there were a couple of tools that allowed users to easily use or "lock" to master. It should be said that's inadvisable, but there's a possibility of vulnerable versions in use in the wild.

I wonder if the posts clarifying the vulnerability are ultimately constructive. It bewilders me why people still use this package despite that huge amount of warning of it being abandonware and there being several superior replacements. The greatest service the maintainer could do for the go community at this point would be to mark the repo archived and put it 6 feet under where it should be.

Okay. I agree with not using it, however this is out of my control in my case. AWS is still using this package for some of their managed services (which I use), so I cannot do anything.

My main problem here is that the NIST publication is wrong. It lists this package as vulnerable "up until but excluding 1.2.0", which is just not true. The package was vulnerable, but that was after 1.2.0, only when using a non-tagged release/commit, and definitely not before it. This is giving me a compliance headache because it incorrectly comes up as a critical vulnerability for version 1.2.0.

I have informed NIST that their article gives a false impression of what happened.

@cameracker
Copy link

Do you think it's worth raising this with AWS? It seems like it'd be better for their customers and services to replace the package.

@nickdnk
Copy link

nickdnk commented Sep 18, 2024

I did. They essentially just said that 1.2.0 is not vulnerable and no action is required -- which is true, however, it still comes up as a vulnerability when we scan our infrastructure. I have told them this as well and suggested they upgrade to https://github.com/gofrs/uuid to get rid of the problem entirely.

The point is just that 1.2.0 simply is not vulnerable and various scanners shouldn't list it as a a vulnerability, regardless if it's abandonware or not.

@cameracker
Copy link

Abandonware is a supply chain risk unto itself and it's disappointing they're taking the pedantic stance. NIST has a moderation issue for the NVD currently, so it'll be hit or miss whether you get movement on it. Sorry you're in this situation. I still hope people see issues like this and stop using the package.

@nickdnk
Copy link

nickdnk commented Sep 18, 2024

Abandonware is a supply chain risk unto itself and it's disappointing they're taking the pedantic stance. NIST has a moderation issue for the NVD currently, so it'll be hit or miss whether you get movement on it. Sorry you're in this situation. I still hope people see issues like this and stop using the package.

Agreed, and what I meant was that 1.2.0 is not vulnerable to CVE-2021-3538 specifically.

Maybe some of them are reading this thread right now and considering an upgrade after I brought it up. Who knows.

I'm not sure what "a moderation issue for the NVD" means. I emailed them about it, they're looking into it they say.

@nickdnk
Copy link

nickdnk commented Sep 18, 2024

Anecdotally, Github says this on their CVE page (if you click the link in my previous comment): "Unfortunately, the latest tagged release is vulnerable to this issue"

How is that true, when the latest tagged release is 1.2.0? And they reference 1.2.1 and some github commit as vulnerable versions. Was a tag deleted? This is so confusing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants