Thank you for using Ubuntu and filing a bug! While /etc/apparmor.d/abstractions/ubuntu-browsers.d/user-files is shipped by apparmor, it is actually /etc/apparmor.d/abstractions/ubuntu- browsers.d/firefox that #include's it, and this file is managed by the firefox package, so moving this bug there.
As for what the profile is intended to protect against and why it works the way it does, please see https://wiki.ubuntu.com/SecurityTeam/FAQ#Firefox_AppArmor_profile This issue was discussed on IRC with the reporter. Here is the summary: - the firefox profile is disabled by default - the firefox profile aims for 'usable security' such that if the profile is enabled, the browser is expected to generally work in the manner that people would expect - the firefox profile can be adjusted to remove the user-files abstraction either by editing /etc/apparmor.d/abstractions/ubuntu-browsers.d/firefox or using 'aa-update-browser' In Ubuntu, we aim for 'usable security' because we don't want people to turn AppArmor off. The intent of the profile is that when enabled, people get some protections (eg, code execution) but can access their files using normal browser workflows. Security-minded individuals can then fine-tune the profile to make it more strict. Vlad made the point in that if the profile is turned off by default, then it can be made very strict with people adding to the profile what they want. As such, adjusting the bug description and marking as Wishlist. Note: IMHO snaps will be the way forward with browsers. Upstream is committing to shipping firefox as a snap and that snap will have stricter confinement than the AppArmor profile in the firefox package of Ubuntu currently (eg, stricter AppArmor policy, seccomp, etc). Of course, Mozilla will also want usable security and they will use the transitional 'home' interface which grants access to files in a similar fashion as the 'user-files' abstraction, but security-minded individuals can use 'snap disconnect firefox:home' to further restrict it. The long term goal is that the snap will used on Ubuntu Personal or other distributions and use mir or wayland instead of X and with file choosers that understand the sandbox limitations and work with the OS to avoid using the transitional 'home' interface to provide a very secure usable browsing experience. ** Package changed: apparmor (Ubuntu) => firefox (Ubuntu) ** Changed in: firefox (Ubuntu) Importance: Undecided => Wishlist ** Changed in: firefox (Ubuntu) Status: New => Triaged ** Summary changed: - AppArmor profile for ubuntu-browsers allows too much read access + since the apparmor profile is disabled by default, please make the apparmor policy strict with option to make less strict -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to firefox in Ubuntu. https://bugs.launchpad.net/bugs/1662501 Title: since the apparmor profile is disabled by default, please make the apparmor policy strict with option to make less strict Status in firefox package in Ubuntu: Triaged Bug description: The default Firefox AppArmor profile (package: firefox) allows read access to all files in the system: # in /etc/apparmor.d/usr.bin.firefox: /**/ r This allows browsing all directory contents on the system which violates Least Privilege Principle and allows malware to explore what's on the system (even though there are additional deny rules that protect most sensitive files, a default read all is still unacceptable). In addition (package: apparmor) : # in /etc/apparmor.d/abstractions/ubuntu-browsers.d/user-files: @{HOME}/** r, owner @{HOME}/** w, Which allows read write to ALL USER FILES, and read to ALL OTHER USER FILES because default chmod on user dirs is o+rx. Granted, access to ~/.ssh is explicitly denied, but there are things like documents and other user files that should NOT be readable to Firefox at all. This is, IMHO, a vulnerability. The profile should allow read/write ONLY to dirs like ~/Downloads or ~/Public. In addition the above two lines that allow unconfined rw access to HOME/**, should be commented out and explained what it means to enable them if the user really wants that kind of convenience. Modern malware is not just about code execution and modifying local or system files. Modern malware is also very much so about data and identity theft against which the current default AppArmor profile does NOT protect. Take for example password managers like KeePassX. The default profile on ubuntu-browsers would allow unfettered access to the very much sensitive passwords database. Sure, users can override and expand the profile with their local modifications, but this "vulnerability" is not documented or communicated to users and gives a false sense of security ("Oh, I have AppArmor profile on Firefox, I'm safe"). Unfortunately, proper security is not in the domain of casual computer usage and I understand that Ubuntu has to balance between convenience and security but IMHO it is possible to make this more secure AND at the same time inform the user where to DISABLE (rather than enable) those stricter rules. If Ubuntu is not willing to sacrifice the convenience for PROPER security (shame on Ubuntu if that's the case), then AT THE VERY LEAST the user should be informed that the default AppArmor profile, when they install a browser, is biased toward convenience and users SHOULD take additional actions to protect themselves. I'm sure this all applies to more than just the browsers, but browsers are my primary concern here, which are the most vulnerable component in a modern system. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1662501/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp