The popular open source project, 'ip' had its GitHub repository archived, or made "read-only" by its developer as a result of a dubious CVE report filed for his project. Unfortunately, open-source developers have recently been met with an uptick in debatable or outright bogus CVEs filed for their pr...
Agree that people like to fluff the severity of bugs they report. It's better for prestige and bounty payouts. But this is a little more nuanced.
"While I didn't really intend the module to be used for any security related checks, I'm very curious how an untrusted input could end up being passed into ip.isPrivate or ip.isPublic [functions] and then used for verifying where the network connection came from."
It's interesting, that it would be hard to make a case that there was a "vulnerability" in the ip package. But it seems like this package's entire purpose is input validation so it's kind of weird the dev thinks otherwise.
Recurring incidents like these raise the question, how does one strike a balance? Relentlessly reporting theoretical vulnerabilities can leave open-source developers, many of who are volunteers, exhausted from triaging noise.
The researchers need to provide proofs of concept. Actual functional exploits.
It's interesting, that it would be hard to make a case that there was a "vulnerability" in the ip package. But it seems like this package's entire purpose is input validation so it's kind of weird the dev thinks otherwise.
Yes, input validation, probably for forms. What the Dev disputes is that he cannot see a case where it is used in a security critical way where
the input format is unknown and
it is essential to know if the IP is public or private.
Even worse, the CVE is effectively "if you use the package wrong, you get weird results".
The affected method has signature function isPrivate(ip: string): boolean. Passing in a hex number is not a string, and a method (toString) exists for this.
The researchers need to provide proofs of concept. Actual functional exploits.
Talking in general, not for this very issue: In my experience, providing a proof of concept is often a lot harder than simply fixing the issue. For an open source project it's probably more helpful if the reporter provides a fix or at least a recommendation on how to fix it
Even if you're poking at a black box and are reporting that "it acts funny when I poke it this way." I'm my opinion, a reporter should send along a script or at least explicit instructions on how to repro.
I take the report more serious since it demonstrates you have an understanding of the issue or exploit. It will also save my time and it's likely a trivial effort for the reporter since they've the context and knowledge of the issue loaded up and ready to go.
Yeah, I agree that any bug report on such a technical level should contain scripts or similar to reproduce the finding but that's not the same as a full blown proof of concept exploit and I think to require an exploit sets the bar too high. A vulnerability is a vulnerability, no matter whether there's an exploit or not. If you commission somebody to do a pentest you usually don't get exploits either.
Yeah idk. I get what they're saying completely, but this exact one seems easy. Just do a validation check and throw an error. I mean, it is an IP validator after all. Either support hex or don't.