• treadful
    link
    fedilink
    English
    arrow-up
    35
    ·
    6 months ago

    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.

    • progandy@feddit.de
      link
      fedilink
      arrow-up
      10
      arrow-down
      1
      ·
      6 months ago

      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

      1. the input format is unknown and
      2. it is essential to know if the IP is public or private.
      • SirQuackTheDuck@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        6 months ago

        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.

    • friendlymessage@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      6 months ago

      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

      • treadful
        link
        fedilink
        English
        arrow-up
        3
        ·
        6 months ago

        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.

        • friendlymessage@feddit.de
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          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.

    • Scrubbles@poptalk.scrubbles.tech
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      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.