This vulnerability, hidden within the netfilter: nf_tables component, allows local attackers to escalate their privileges and potentially deploy ransomware, which could severely disrupt enterprise systems worldwide.

  • turdas@suppo.fi
    link
    fedilink
    English
    arrow-up
    1
    ·
    25 days ago

    This only affects positively ancient kernels:

    From (including) 3.15 Up to (excluding) 5.15.149 From (including) 6.1 Up to (excluding) 6.1.76 From (including) 6.2 Up to (excluding) 6.6.15 From (including) 6.7 Up to (excluding) 6.7.3

    • henfredemars@infosec.pub
      link
      fedilink
      English
      arrow-up
      1
      ·
      25 days ago

      You need to be able to run code on the system that has the bug. The bug is in the netfilter component, in how it’s managed on that system, not in the actual traffic flows.

    • onlinepersona@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      25 days ago

      But… You dont understand, Rust is the devil! If Rust were made the kernel’s main language it would terrible because that would mean change 😭😭😭

    • Zangoose@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      24 days ago

      But then the kernel wouldn’t be free! Free as in ‘use-after-free’!

      (/s in case it wasn’t obvious)

    • Shanmugha@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      25 days ago

      Magical pills do not exist. Better start pushing old fuckers incapable of learning out of the project (yeah, I don’t like this kind of treatment of Rust just because it is not C either)

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      25 days ago

      Yay! Pick an arbitrary solution to a problem just because it’s different and shiny! The shine will fix it!

        • henfredemars@infosec.pub
          link
          fedilink
          English
          arrow-up
          1
          ·
          25 days ago

          Yes, that’s right. You cannot have a UAF situation unless you’re using unsafe “escape hatch” tools.

            • calcopiritus@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              23 days ago

              I’ve only seen it once. And it was made specifically to trigger a compiler bug. It barely looked like rust code.

              Now tell me how someone will introduce such a bug by accident. Winning the lottery 10000 times in a row with the same number isn’t impossible either. But we are engineers, not pure math pedantics. 0.000000000000001% probability for something that happens with less frequency than once per second is impossible.

            • turdas@suppo.fi
              link
              fedilink
              English
              arrow-up
              0
              arrow-down
              1
              ·
              24 days ago

              It’s not a joke. What was described above is pretty much C++'s RAII pattern, which Rust evangelists love to present as a revolutionary Rust invention. Used with smart pointers, it will help avoid use-after-frees. What it doesn’t avoid is null pointer exceptions (you can std::move a unique_ptr and still access it, it’ll just be nullptr), but those will typically “just” be a crash rather than a gaping security hole.

              That is not to say Rust doesn’t have its own innovations on top of that (notably that the compiler stringently enforces this pattern), and C++ does give you many more ways to break the rules and shoot yourself in the foot than Rust does.

              • sp3ctr4l@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                2
                ·
                24 days ago

                Your second half there is the whole point.

                Being memory unsafe in C++ is can occur by accident.

                Being memory unsafe in Rust… essentiallly requires consistent intent.

                When coming up with guidelines for an emgineering procesd that can go catastrophically wrong… do you use a stricter ruleset, or a less strict one?

                That’s basically the safety argument.

                • turdas@suppo.fi
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  arrow-down
                  2
                  ·
                  24 days ago

                  If you follow modern C++ best practices, memory unsafety will not happen by accident. The dodgy stuff in modern, idiomatic C++ is immediately obvious.

      • dragonfly4933@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        25 days ago

        Explain how a use after free could occur in safe rust, because to my knowledge, that is exactly the kind of thing rust does protect against.

        • calcopiritus@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          23 days ago

          Easy. Do some specific incantation that barely looks like it follows rust syntax that is specifically made to exploit a bug in the rust compiler.

      • Noja@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        24 days ago

        You never say “would not of”. It’s “would not have”.

        Rust would have prevented this, because the borrow checker prevents use-after-free vulnerabilites.

      • Zangoose@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        24 days ago

        Do you know what a use-after-free bug is? Rust was literally designed to make this type of memory bug impossible.

    • ZILtoid1991@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      25 days ago

      Okay, then why we need to use a language that has more in common with OCaml? What about using a better C instead?