Lord of the Io_uring (2020)

(unixism.net)

39 points | by ibobev 4 days ago ago

14 comments

  • zygentoma 2 hours ago

    The legends on the graphs are so small, that I can't read them on my smartphone ... and of course the Website does not allow me to zoom in >_>

  • p_ing 7 hours ago
  • jeffbee 7 hours ago

    No io_uring explainer is complete without a comprehensive running list of all the vulnerabilities discovered (so far) and the consequent API and behavior changes. This one, unfortunately, has been static since 2020, which means it comes from the time when io_uring seemed like it might be a fairly OK idea, instead of the toxic waste spill it turned out to be.

    • coppsilgold 6 hours ago

      While the situation has improved, if your threat model is such you can block io_uring during boot or in containers with a seccomp policy:

          DENY_RULE (io_uring_enter, EPERM);
          DENY_RULE (io_uring_register, EPERM);
          DENY_RULE (io_uring_setup, EPERM);
    • Analemma_ 4 hours ago

      What is it with io_uring and btrfs in particular that gives people a compulsive urge to bring up bugs from years ago as proof that they should never be used. Yeah, huge complicated new subsystems land with bugs, and then they gradually get fixed. I’m sorry we can’t all ship perfect bug-free software on the first release, please be kind to us mere mortals.

      • jeffbee 4 hours ago

        io_uring is fundamentally under-designed and will never work correctly. It cannot be incrementally reformed.

    • LtWorf 6 hours ago

      Also user namespaces have had a long list of vulnerabilities, but that's still better than running docker as root directly.

      • cpuguy83 4 hours ago

        That is a ridiculous statement. In the case of userns exploits there have been many and it means that every unprivileged user can obtain root on the machine.

        Whereas rootful docker is a well known thing, run on millions of machines, and none of the vulnerabilities discovered in its entire existence is as bad as any single priv escalation issue caused by allowing unprivileged users to create a user namespace.

      • jeffbee 6 hours ago

        Hrmm. "Take over the entire machine" type vulnerabilities, or "these namespaces weren't quite as isolated as we thought" vulnerabilities?

        • cpuguy83 4 hours ago

          Escalating from an unprivileged user to root by creating userns and exploiting various things in the kernel along the way.

        • chupasaurus 4 hours ago

          The latter can easily propagate to the former if seccomp/AppArmor/MAC isn't set properly.

        • LtWorf 5 hours ago

          CVEs are publicly available

    • epolanski 4 hours ago

      All critical flaws seen so far have seen patches and fixes.