Enhancing X11 Application Security with LXC

(dobrowolski.dev)

46 points | by shirozuki 6 hours ago

5 comments

  • mid-kid 3 hours ago
    For an article written late last year I hoped for a little more awareness of how massive a security hole granting full, unfiltered access to the X11 server is. Granted, any sandboxing is better than none, but firefox is one of the few apps that already sandboxes itself really well, and with a blog title like that it might be good to touch upon things like nested X servers such as Xephyr.
  • ChocolateGod 1 hour ago
    Correct me if I'm wrong, but passing through the X socket gives a giant sandbox escape as any application can control/see any other application, including a root terminal in a GUI app.
    • Chu4eeno 1 hour ago
      No, X11 supports pretty detailed per-application access control, similar to selinux (XACE).

      The author of the phoenix x server has blogged about it, iirc.

      • ChocolateGod 55 minutes ago
        > XACE

        Which is configured by default on what distros?

  • sunshine-o 3 hours ago
    This is a great article.

    I have little experience with lxc but I guess waypipe could be an option too.

  • LtWorf 4 hours ago
    Or one could just use firejail, which comes with a number of pre made profiles for common applications.
  • calvinmorrison 3 hours ago
    Xlibre (the only current actively developed implementation of a X11 server) has a new extension - XNamespace to address some challenges as well.

    https://github.com/X11Libre/xserver/blob/master/doc/Xnamespa...

    • Chu4eeno 3 hours ago
      Not the only one, there's also a new one (written in zig) I've forgot the name of.

      edit: phoenix was the name: https://github.com/external-mirrors/phoenix#phoenix

      • mappu 2 hours ago
        There's also this new one: https://github.com/joske/yserver
        • asveikau 1 hour ago
          Hard for me to take that one seriously.. For example they call out byte swapping for endianness as the type of cruft holding back X11. Such a trivial thing to be concerned enough to put in the readme... (I guess Phoenix is also putting this..) Seems like mostly authored by Claude too.