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
    ·
    23 hours 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.

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

      I would love to see a study about people that follow C++ best practices. Put a bunch of C++ devs and tell them to write some programs. Then see how many of those programs would be valid according to rust’s borrow checker.

      Whatever % of people that “fail” this test, is much higher than the 0% of people that would do so using rusts’ compiler.

      Of course, programs that don’t pass the borrow checker can be totally memory safe, but that would need to be analyzed on a case by case basis.

      • turdas@suppo.fi
        link
        fedilink
        English
        arrow-up
        1
        ·
        47 minutes ago

        Whatever % of people that “fail” this test, is much higher than the 0% of people that would do so using rusts’ compiler.

        Of course, programs that don’t pass the borrow checker can be totally memory safe, but that would need to be analyzed on a case by case basis.

        Programs that do pass the borrow checker aren’t guaranteed to be totally memory safe, so the number isn’t actually 0% for Rust either: https://github.com/Speykious/cve-rs

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      22 hours ago

      Yes but the whole point is that Rust forces you to do this.

      Not everybody follows best practices, sometimes people who say they do, well they make mistakes.

      I really don’t understand how this is conceptually difficult to grasp.

      • turdas@suppo.fi
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        21 hours ago

        Rust forces you to do this until you have to use unsafe, after which it doesn’t. That is not so different from C++ guaranteeing your safety until you start using raw pointers.

        It is not the compiler’s job to stop the programmer from shooting themselves in the foot if they want to. It’s the compiler’s job to make it clear to the programmer when they disable the safety, put their finger on the trigger and aim the gun at their foot. Modern C++ does this, and if you still inadvertedly shoot yourself in the foot in spite of the warnings, you brought it on yourself.

        Regular old C, on the other hand, gives you a 9mm when you’re in grade 7, safety: always off.