submitted 2 years ago* (last edited 2 years ago) by to c/linux@lemmy.ml
 

CVE-2017-5226 is a issue with bubblewrap that allows a program running in a sandbox to excape and get the same privileges as a the parent process. I recently discovered this by mistake and it is fairly concerning to me. I believe it applies to Flatpak as Flatpak uses bubblewrap under the hood.

Many people like to boast about how secure and private flatpak and some even run untrusted software in it. However, the reality is that there hasn't been a lot of testing and the fact that this CVE still exists but isn't well known is concerning.

The reason it wasn't patched is that it is really hard to properly fix. The work around is to call bubblewrap with the --new-session flag as this effectively prevents the excape. However, this breaks interactive programs such as htop. Also the bubblewrap team believes this is a issue that should be solved downstream as this CVE is technically not a CVE in the traditional sense.

I think it is still better to run flatpak over non flatpak but it is something to be aware of

Edit:

It doesn't apply to flatpak as it is patched in 1.3.1and higher https://github.com/flatpak/flatpak/security/advisories/GHSA-7gfv-rvfx-h87x

Basically this is a communication and people problem not a technical one

Edit2:

This isn't exploitable on modern systems with 6.1 or newer with the way most distros compile the kernel

all 13 comments

sorted by: hot top controversial new old
[–] 11 points 2 years ago (1 child)

It's definitely not perfect, but this also wouldn't affect GUI apps because there's no shell to send inputs into to run other commands. There's also more container escapes than just that.

But it's an added layer of security regardless, especially if you're not directly running software designed to escape the sandbox. A drive by exploit in a browser for example, is less likely to successfully escape because the stars needs to align that you have both a vulnerable browser and a vulnerable kernel at the same time.

The average credential stealer or NPM malware is likely to be contained and not even realize it's in a sandbox. You have to get malware and said malware is smart enough to exploit an unpatched CVE in your sandbox.

But no it's not perfect, the only way to safely run malware is on a separate physical machine with no access to your local network, and ideally with no wireless technology at all (to avoid WiFi/Bluetooth exploits). Even VMs can be escaped, there's a few CVEs for that too, and of course the processor bugs.

Security comes in layers, unless a layer is basically useless, it counts.

  • source
  • hideshow 2 child comments
  • [–] 6 points 2 years ago (1 child)

    Isn't that irrelevant since tiocsti is disabled on modern kernels?

  • source
  • hideshow 2 child comments
  • [–] [S] 1 point 2 years ago (1 child)
  • [–] 5 points 2 years ago (1 child)

    Well the exploit in the CVE needs the kernel function.
    And it's disabled as default since 6.2.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 2 years ago* (1 child)

    my ubuntu 22 AWS VM only got 6.2 in september, and I haven't rebooted yet so it's still on 5.15. probably tons of desktops and servers are still using < 6.2

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 2 years ago (2 children)

    Which is why they said "modern" kernels. LTS systems are usually not going for modern. :)

  • source
  • parent
  • hideshow 4 child comments
  • [–] 5 points 2 years ago (1 child)

    we can disagree on the definition of modern.

  • source
  • parent
  • hideshow 2 child comments
  • That's true. It varies from person to person. I, for example, am an Arch user, so modern for me is only around a year or so. Ubuntu 22.04 is old in my eyes, mostly because a newer LTS was released after it.

    You might define Ubuntu 22.04 as new, because it's still fully supported.

    It's just a question of how you define modern/recent.

  • source
  • parent
  • [–] 0 points 2 years ago (2 children)

    My understanding is that Flatpak was never designed to be a secure environment. It's all about convenience.

    Running software you know you can't trust is idiotic no matter how well you sandbox it.

  • source
  • hideshow 4 child comments