John Johansen
c8eefe440c
Prepare for AppArmor 3.1.3 release
...
- update version file
- update library version
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-27 17:24:32 -08:00
John Johansen
df3b9601de
Merge [3.x] Update samba profiles
...
samba-dcerpcd requires access to `/var/cache/samba/names.tdb`.
audit: type=1400 audit(1676835286.187:62): apparmor="DENIED" operation="open" profile="samba-dcerpcd" name="/var/cache/samba/names.tdb" pid=6948 comm="samba-dcerpcd" requested_mask="wrc" denied_mask="wrc" fsuid=0 ouid=0
See also https://bbs.archlinux.org/viewtopic.php?id=281411
Since `usr.sbin.winbindd` already has a rule for it, and `usr.sbin.nmbd`
has similar ones, simply add `/var/cache/samba/*.tdb rwk` to
`abstractions/samba`.
(cherry picked from commit 763c4ecd23
,
with cleanup of now-superfluous rules in usr.sbin.nmbd and
usr.sbin.winbindd dropped)
Also allow access to samba pid files directly in /run/
This is a backport of !987 , with the cleanup of now-superfluous rules removed.
I propose this patch for 3.x (also for 2.13 if it cleanly applies)
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/988
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
2023-02-27 19:52:17 +00:00
nl6720
a9fa20a456
profiles/apparmor.d/samba*: allow access to pid files directly in /run/
...
On Arch Linux, `samba-dcerpcd.pid` is in `/run/`, not `/run/samba/`.
apparmor="DENIED" operation="mknod" profile="samba-dcerpcd" name="/run/samba-dcerpcd.pid" pid=80920 comm="samba-dcerpcd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
The same is true for `nmbd.pid`, `smbd.pid` and probably others too.
(cherry picked from commit 6f0d2ef7fe
)
2023-02-27 20:37:38 +01:00
nl6720
089064439d
profiles/apparmor.d/abstractions/samba: allow modifying /var/cache/samba/*.tdb
...
samba-dcerpcd requires access to `/var/cache/samba/names.tdb`.
audit: type=1400 audit(1676835286.187:62): apparmor="DENIED" operation="open" profile="samba-dcerpcd" name="/var/cache/samba/names.tdb" pid=6948 comm="samba-dcerpcd" requested_mask="wrc" denied_mask="wrc" fsuid=0 ouid=0
See also https://bbs.archlinux.org/viewtopic.php?id=281411
Since `usr.sbin.winbindd` already has a rule for it, and `usr.sbin.nmbd`
has similar ones, simply add `/var/cache/samba/*.tdb rwk` to
`abstractions/samba`.
(cherry picked from commit 763c4ecd23
,
with cleanup of now-superfluous rules in usr.sbin.nmbd and
usr.sbin.winbindd dropped)
2023-02-27 20:36:30 +01:00
John Johansen
1759c1bd24
Merge Add abstractions/groff with lots of groff/nroff helpers
...
contributed by Werner Fink via
https://bugzilla.opensuse.org/show_bug.cgi?id=1065388 comment 25
Note that - compared to the file in bugzilla - I removed the `rix` rules
for /usr/bin/groff and /usr/bin/nroff so that people can choose to ix,
Px or Cx groff/nroff as they wish, and then include the abstraction
inside the target profile to allow executing all the helpers.
I also added `include if exists <abstractions/groff.d>`
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/973
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 238eb8150b
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-26 13:57:12 -08:00
John Johansen
68de30cf76
Merge abstractions/openssl: allow reading /etc/ssl/openssl-*.cnf
...
openSUSE Tumbleweed uses /etc/ssl/openssl-1_1.cnf to make the migration
to openssl 3 possible.
References: https://bugzilla.opensuse.org/show_bug.cgi?id=1207911
I propose this patch for at least 3.1 and master, ideally for all branches (as long as it can easily be merged)
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/984
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit f223ed063e
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-25 17:06:33 -08:00
Christian Boltz
925ccfe482
Merge Backport Recent Python Bugfixes to 3.1
...
This MR backports bugfixes from !985 , bringing them from `master` to `apparmor-3.1`.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/986
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
2023-02-24 20:21:00 +00:00
Georgia Garcia
dc4b38acf0
libapparmor: add support for class in logparsing
...
We want to use the class field to identify operations such as
posix_mqueue
Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com >
(cherry picked from commit 5cc7a26e78
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-24 04:09:12 -08:00
Georgia Garcia
9f25b5f6ff
libapparmor: add support for requested and denied on logparsing
...
In order to decrease the number of characters in the audit logs
from the kernel, we will drop the "_mask" from the fields
"requested_mask" and "denied_mask".
Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com >
(cherry picked from commit a05c9483f3
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-24 04:08:57 -08:00
Mark Grassi
6e2eabd424
Fix AttributeError caused by Python 3 migration
...
(cherry picked from commit cc7f8fb4d6
)
2023-02-23 22:39:28 -05:00
Mark Grassi
c8ce78e00c
Replace mutable default arguments in utils
...
(cherry picked from commit 2742d1f1ee
)
2023-02-23 22:39:25 -05:00
Mark Grassi
7526ba4b0a
Add missing comma to tuple
...
(cherry picked from commit 2be41315e7
)
2023-02-23 22:39:21 -05:00
Mark Grassi
0eaf6d3649
Replace mutable default arguments in tests
...
(cherry picked from commit 14e01b5d73
)
2023-02-23 22:39:17 -05:00
Christian Boltz
e44e9187ae
Merge abstractioms/nvidia: add new cache directory
...
Some applications (like Firefox or Steam, but for some reason not
glxgears) now writes to ~/.cache/nvidia/*:
```
type=AVC msg=audit(1676115846.764:605): apparmor="DENIED" operation="open" profile="firefox" name="/home/vincas/.cache/nvidia/GLCache/2c0cfcdab4d7b05f8130d8f
ba8838943/ec9a05ca3988cfd1/1fee83e04c0ea4d8.toc" pid=26827 comm="firefox" requested_mask="rac" denied_mask="rac" fsuid=1000 ouid=1000^]FSUID="vincas" OUID="v
incas"
```
```
type=AVC msg=audit(1676134465.264:2166): apparmor="DENIED" operation="open" profile="steam" name="/home/vincas/.cache/nvidia/GLCache/95f6d95b1adf9af310bc94af5f19e509/6b24ef0587ddc7e4/23b502f99abb563c.toc" pid=56082 comm="steam" requested_mask="wr" denied_mask="wr" fsuid=1000 ouid=1000^]FSUID="vincas" OUID="vincas"
```
Update nvidia abstraction to allow create caches in .cache subdirectory.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/982
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit d713f75086
)
15b92cd2
abstractioms/nvidia: add new cache directory
2023-02-16 17:41:49 +00:00
Christian Boltz
677051bd02
Merge nvidia_modprobe: update for driver families and /sys path
...
Debian have split NVIDIA drivers into current, tesla and legacy:
```
$ apt-file search /etc/nvidia/ | grep -P -o -e
"(?<=/etc/nvidia/).[^/]*/" | sort -u
current/
current-open/
legacy-340xx/
legacy-390xx/
tesla/
tesla-418/
tesla-450/
tesla-460/
tesla-470/
tesla-510/
```
These paths are used by nvidia_modprobe -> kmod:
```
type=AVC msg=audit(1676135718.796:2592): apparmor="DENIED" operation="open" profile="nvidia_modprobe//kmod" name="/etc/nvidia/tesla-470/nvidia-blacklists-nouveau.conf" pid=62094 comm="modprobe" requested_mask="r" denied_mask="r" fsuid=0 ouid=0FSUID="root" OUID="root"
type=AVC msg=audit(1676135718.796:2593): apparmor="DENIED" operation="open" profile="nvidia_modprobe//kmod" name="/etc/nvidia/tesla-470/nvidia-options.conf" pid=62094 comm="modprobe" requested_mask="r" denied_mask="r" fsuid=0 ouid=0FSUID="root" OUID="root"
type=AVC msg=audit(1676135718.796:2594): apparmor="DENIED" operation="open" profile="nvidia_modprobe//kmod" name="/etc/nvidia/tesla-470/nvidia-modprobe.conf" pid=62094 comm="modprobe" requested_mask="r" denied_mask="r" fsuid=0 ouid=0FSUID="root" OUID="root"
```
Also, additional /sys path is accessed:
```
type=AVC msg=audit(1676136251.680:2956): apparmor="DENIED" operation="open" profile="nvidia_modprobe//kmod" name="/sys/module/drm/initstate" pid=63642 comm="modprobe" requested_mask="r" denied_mask="r" fsuid=0 ouid=0FSUID="root" OUID="root"
```
Update nvidia_modprobe profile to this these denials.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/983
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 94d2faab71
)
8e50c351
nvidia_modprobe: update for driver families and /sys path
2023-02-14 18:39:27 +00:00
John Johansen
21ca572de6
Merge postfix-tlsmgr: allow reading openssl.cnf
...
Seen/needed on openSUSE Tumbleweed
I propose this patch for all branches.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/981
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 3e89b4aab2
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-09 00:17:43 -08:00
John Johansen
6c240a473b
Merge avahi-daemon needs attach_disconnected
...
... for var/lib/nscd/passwd and var/lib/nscd/group
I propose this patch for all branches.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/960
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 2c72dd5541
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-03 21:27:10 -08:00
John Johansen
eec9086ecf
Merge [3.1] firefox.sh: Adjust local include to match master
...
The local include in firefox.sh was just added today. Change it to the
value we have in master (as soon as !975 gets accepted).
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/976
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
2023-02-02 18:16:03 +00:00
John Johansen
81d8af7c13
Merge nscd: allow using systemd-userdb
...
If systemd-userdb is used to configure some users, nscd needs to read
the userdb files.
See also https://www.freedesktop.org/software/systemd/man/nss-systemd.html
for the list of possible filenames (and symlinks).
Fixes: http://bugzilla.opensuse.org/show_bug.cgi?id=1207698
I propose this patch for all branches.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/977
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 5df8da3c37
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-01 19:56:03 -08:00
John Johansen
a9bea8a377
Merge Fix mode not being printed when debugging AF_UNIX socket rules.
...
This was due to the values being defined in both af_unix and af_rule leaving the latter values unset.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/979
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit da7d3a2101
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-01 19:50:55 -08:00
Georgia Garcia
3aa895073a
Merge Fix spacing when printing out AF_UNIX addresses
...
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/978
Approved-by: Georgia Garcia <georgia.garcia@canonical.com >
Merged-by: Georgia Garcia <georgia.garcia@canonical.com >
(cherry picked from commit 608560ee43
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-02-01 19:50:37 -08:00
Christian Boltz
dcf7e9a0d5
firefox.sh: Adjust local include to match master
...
The local include in firefox.sh was just added today. Change it to the
value we have in master (as soon as MR 975 gets accepted).
2023-01-30 12:11:21 +01:00
Christian Boltz
57fec9624d
Merge Ensure all profiles in extras/ have optional local include + comment
...
Recently got bitten by `usr.sbin.lighttpd` not having the local include, so I figured I'd bring all the `extras/` profiles up to parity.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/974
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 8895e00ef1
)
d0e32a32
Ensure all profiles in extras/ have optional local include + comment
2023-01-30 10:16:20 +00:00
John Johansen
aee9bf56c0
Merge libapparmor: add scanner support for dbus method
...
In the [merge request that adds AppArmor support on D-Bus Broker](https://github.com/bus1/dbus-broker/pull/286 ), the word "method" is used instead of "member" on the auditing logs.
So we are adding support to parse "method" the same way as "member" on D-Bus audit logs.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/958
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit a96fa35bd5
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-01-25 13:08:31 -08:00
John Johansen
0295fadab3
Merge add dbus-broker support on regression tests
...
dbus-broker requires some modification of the test suite. In summary:
* refactor to support starting and stopping both dbus and dbus-broker.
* Make it so we can run the tests on each, where appropriate
* skip unrequested reply and eavesdrop tests for dbus broker because they are not supported.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/965
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 223036d952
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-01-24 16:39:44 -08:00
John Johansen
5bc35342ed
Merge Fix: Opening links with Brave
...
Resolves #292 .
This fix is the same as !830 but for Brave.
Opening links in Brave now works as intended.
Note that now a separate denial is caused, related to WidevineCDM, is produced:
```
[ERROR:content_main_runner_impl.cc(415)] Unable to load CDM /home/username/.config/BraveSoftware/Brave-Browser/WidevineCdm/4.10.2557.0/_platform_specific/linux_x64/libwidevinecdm.so (error: /home/username/.config/BraveSoftware/Brave-Browser/WidevineCdm/4.10.2557.0/_platform_specific/linux_x64/libwidevinecdm.so: failed to map segment from shared object)
```
In the syslog:
```
audit: type=1400 audit(1671108748.090:117): apparmor="DENIED" operation="file_mmap" profile="/usr/bin/evince//sanitized_helper" name="/home/username/.config/BraveSoftware/Brave-Browser/WidevineCdm/4.10.2557.0/_platform_specific/linux_x64/libwidevinecdm.so" pid=65765 comm="brave" requested_mask="m" denied_mask="m" fsuid=1000 ouid=100
```
I'm not sure if granting permission(s) for this is desirable. In either case, the potential relevant changes are out of the scope of this MR.
If I disable WidevineCDM in Brave, I get the following denial on cap sys_admin:
```
audit: type=1400 audit(1671112807.666:174): apparmor="DENIED" operation="capable" profile="/usr/bin/evince//sanitized_helper" pid=112098 comm="brave" capability=21 capname="sys_admin"
```
which is fine, as mentioned by @jjohansen [here](https://gitlab.com/apparmor/apparmor/-/merge_requests/830#note_831915024 ).
Closes #292
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/957
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 5fd8c25745
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-01-24 16:32:30 -08:00
John Johansen
6cc9160246
Merge Extend crypto and ssl_certs abstractions
...
- ssl_certs: /{etc,usr/share}/pki/trust/ has more than the 'anchors' subdirectory
- crypoto: allow reading /etc/gcrypt/hwf.deny
I propose this patch for 3.0..master (2.13 doesn't have abstractions/crypto).
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/961
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit bb30df7843
)
d15bfa99
Extend crypto and ssl_certs abstractions
2023-01-24 23:10:21 +00:00
Christian Boltz
5452053f5b
Merge Add pipewire client.conf to audio abstractions
...
Fixes: https://bugs.launchpad.net/bugs/2003702
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/970
Approved-by: Jon Tourville <jon.tourville@canonical.com >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit dedb5d94cb
)
b5a7641d
Add pipewire client.conf to audio abstractions
2023-01-23 20:35:14 +00:00
Christian Boltz
da906cda8c
Merge profiles: dnsmasq: add Waydroid pid file
...
Waydroid uses LXC and some lxc-net equivalent scripts. Allow that.
b910c89174/data/scripts/waydroid-net.sh
https://web.archive.org/web/20221202141315/https://docs.waydro.id/debugging/known-issues
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/969
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit d61ccafcb3
)
977e45c1
profiles: dnsmasq: add Waydroid pid file
2023-01-22 18:11:28 +00:00
John Johansen
a19754f52f
Merge regression tests: fix bogon patch characters in Makefile
...
Commit 8cf3534a5
("tests regression: fix failure on older versions of
Make") from https://gitlab.com/apparmor/apparmor/-/merge_requests/639
was incorrectly applied, including the `+` prefixes from the proposed
patch. This causes the sysctl syscall() checks to not correctly be
applied and results in a mismatch of expectations in the
syscall_sysctl.sh test script, causing it and the testsuite to fail.
Thus, remove the bogon `+` characters from the Makefile, to make
USE_SYSCTL be set correctly.
Fixes: 8cf3534a5
("tests regression: fix failure on older versions of Make")
Signed-off-by: Steve Beattie <steve.beattie@canonical.com >
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/963
Approved-by: Georgia Garcia <georgia.garcia@canonical.com >
Approved-by: Christian Boltz <apparmor@cboltz.de >
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit f0bc1a89a4
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-01-04 16:45:22 -08:00
John Johansen
379a486b87
Merge aa-status: Fix malformed json output with unconfined processes
...
As reported in issue #295 , the json output from aa-status would be invalid if
there were profiles defined for processes that were unconfined. Fix this by
ensuring the json for the processes array is closed properly.
Signed-off-by: Alex Murray <alex.murray@canonical.com >
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/964
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit dfc9847f89
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2023-01-04 09:33:59 -08:00
Georgia Garcia
5ad91d482d
Merge log parsing fixes
...
small fixes on log parsing
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/959
Approved-by: Jon Tourville <jon.tourville@canonical.com >
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Georgia Garcia <georgia.garcia@canonical.com >
(cherry picked from commit 4f2d2a8cab
)
Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com >
2022-12-16 16:55:31 -03:00
John Johansen
19bbc5dfc3
Merge parser: Fix invalid reference to transitions when building the chfa
...
States are not guaranteed to have transitions, but when inserting
a state into the chfa table there is an unconditional dereference
to the states first transition.
This will result in a bad reference and could result in an OOB
flag being set on the state when it shouldn't be.
Fixes: 16b67ddbd
("add ability to use out of band transitions"
Closes: https://gitlab.com/apparmor/apparmor/-/issues/290
Reported-by: Nobel Barakat <nobelbarakat@google.com >
Reported-by: Oleksandr Tymoshenko <ovt@google.com >
Signed-off-by: John Johansen <john.johansen@canonical.com >
Closes #290
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/956
Approved-by: Seth Arnold <seth.arnold@gmail.com >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit a7bce9be98
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2022-12-09 23:03:54 -08:00
John Johansen
66cb0ed739
Merge smbd: allow reading /var/lib/nscd/netgroup
...
(reported on the opensuse-factory mailinglist)
I propose this patch for 2.13..master.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/948
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit ba01d479e2
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2022-11-29 12:56:21 -08:00
Christian Boltz
d179a704e7
Merge abstractions/nvidia: allow reading @{pid}/comm
...
On Debian Sid, NVIDIA driver spams log with:
```
type=AVC msg=audit(1669542108.552:11855): apparmor="DENIED"
operation="open" profile="qtox" name="/proc/21222/comm" pid=21222
comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000
ouid=1000FSUID="vincas" OUID="vincas"
```
```
type=AVC msg=audit(1669541506.703:11329): apparmor="DENIED"
operation="open" profile="skypeforlinux" name="/proc/19851/comm"
pid=19851 comm="skypeforlinux" requested_mask="r" denied_mask="r"
fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
```
Read is initiated within libnvidia-glcore.so:
```
Thread 1 "qtox" hit Catchpoint 1 (call to syscall openat), 0x00007fb797b16ed0 in __libc_open64 (file=file@entry=0x7fb742adbb50 "/proc/self/comm", oflag=0) at ../sysdeps/unix/sysv/linux/open64.c:41
41 in ../sysdeps/unix/sysv/linux/open64.c
$27 = 0x7fb742adbb50 "/proc/self/comm"
0 0x00007fb797b16ed0 in __libc_open64 (file=file@entry=0x7fb742adbb50 "/proc/self/comm", oflag=0) at ../sysdeps/unix/sysv/linux/open64.c:41
1 0x00007fb797aa0862 in __GI__IO_file_open (fp=fp@entry=0x55795176e600, filename=filename@entry=0x7fb742adbb50 "/proc/self/comm", posix_mode=<optimized out>, prot=prot@entry=438, read_write=8, is32not64=<optimized out>) at ./libio/fileops.c:188
2 0x00007fb797aa0a1b in _IO_new_file_fopen (fp=fp@entry=0x55795176e600, filename=filename@entry=0x7fb742adbb50 "/proc/self/comm", mode=<optimized out>, mode@entry=0x7fb7428effe2 "r", is32not64=is32not64@entry=1) at ./libio/fileops.c:280
3 0x00007fb797a950f9 in __fopen_internal (filename=0x7fb742adbb50 "/proc/self/comm", mode=0x7fb7428effe2 "r", is32=1) at ./libio/iofopen.c:75
4 0x00007fb7423d791f in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.470.141.03
5 0x00007fb7423d4515 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.470.141.03
6 0x00007fb7423d0226 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.470.141.03
7 0x00007fb7423e1961 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.470.141.03
8 0x00007fb74824bc79 in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
9 0x00007fb7482b1c56 in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
10 0x000000000000001d in ?? ()
11 0x00005579518975f0 in ?? ()
12 0x0000000000000001 in ?? ()
13 0x00007fb74824b1eb in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
14 0x00005579518975f0 in ?? ()
15 0x00007fb79b2dda79 in call_init (env=0x7ffd92d7aac8, argv=0x7ffd92d7aab8, argc=-1831363648, l=0x7fb748516f70) at ./elf/dl-init.c:56
16 call_init (l=0x7fb748516f70, argc=-1831363648, argv=0x7ffd92d7aab8, env=0x7ffd92d7aac8) at ./elf/dl-init.c:26
17 0x00007fb79b2ddba4 in _dl_init (main_map=0x5579518975f0, argc=1, argv=0x7ffd92d7aab8, env=0x7ffd92d7aac8) at ./elf/dl-init.c:117
18 0x00007fb797b6def4 in __GI__dl_catch_exception (exception=<optimized out>, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:182
19 0x00007fb79b2e430e in dl_open_worker (a=a@entry=0x7ffd92d79f20) at ./elf/dl-open.c:808
20 0x00007fb797b6de9a in __GI__dl_catch_exception (exception=<optimized out>, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
21 0x00007fb79b2e46a8 in _dl_open (file=0x557951888020 "libGLX_nvidia.so.0", mode=<optimized out>, caller_dlopen=0x7fb78d7d4d27, nsid=<optimized out>, argc=1, argv=0x7ffd92d7aab8, env=0x7ffd92d7aac8) at ./elf/dl-open.c:884
22 0x00007fb797aa42d8 in dlopen_doit (a=a@entry=0x7ffd92d7a190) at ./dlfcn/dlopen.c:56
23 0x00007fb797b6de9a in __GI__dl_catch_exception (exception=exception@entry=0x7ffd92d7a0f0, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
24 0x00007fb797b6df4f in __GI__dl_catch_error (objname=0x7ffd92d7a148, errstring=0x7ffd92d7a150, mallocedp=0x7ffd92d7a147, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:227
25 0x00007fb797aa3dc7 in _dlerror_run (operate=operate@entry=0x7fb797aa4280 <dlopen_doit>, args=args@entry=0x7ffd92d7a190) at ./dlfcn/dlerror.c:138
26 0x00007fb797aa4389 in dlopen_implementation (dl_caller=<optimized out>, mode=<optimized out>, file=<optimized out>) at ./dlfcn/dlopen.c:71
27 ___dlopen (file=<optimized out>, mode=<optimized out>) at ./dlfcn/dlopen.c:81
28 0x00007fb78d7d4d27 in ?? () from /lib/x86_64-linux-gnu/libGLX.so.0
29 0x00007fb78d7d6335 in ?? () from /lib/x86_64-linux-gnu/libGLX.so.0
30 0x00007fb78d7cf9f8 in glXChooseFBConfig () from /lib/x86_64-linux-gnu/libGLX.so.0
31 0x00007fb748646f6a in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
32 0x00007fb748644450 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
33 0x00007fb7486421b7 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
34 0x00007fb79838262d in QOpenGLContext::create() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
35 0x00007fb74bb4303c in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
36 0x00007fb797eb7aaf in qt_call_pre_routines () at kernel/qcoreapplication.cpp:317
37 QCoreApplicationPrivate::init (this=<optimized out>) at kernel/qcoreapplication.cpp:849
38 0x00007fb7983379dc in QGuiApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
39 0x00007fb798b684c9 in QApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
40 0x0000557950f1d597 in main ()
```
Add read rule to allow reading @{pid}/comm.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/954
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 2597fd5db8
)
948cbb56
abstractions/nvidia: allow reading @{pid}/comm
2022-11-27 13:06:48 +00:00
Christian Boltz
4244737f65
Merge lsb_release: allow cat and cut
...
lsb_release fails on Debian Sid:
```
$ sudo aa-exec -p lsb_release lsb_release
/usr/bin/lsb_release: 70: cut: Permission denied
/usr/bin/lsb_release: 70: cut: Permission denied
```
```
$ sudo aa-exec -p lsb_release lsb_release -h
/usr/bin/lsb_release: 11: cat: Permission denied
```
```
type=AVC msg=audit(1669540199.087:2680): apparmor="DENIED"
operation="exec" profile="lsb_release" name="/usr/bin/cut" pid=17419
comm="lsb_release" requested_mask="x" denied_mask="x" fsuid=0
ouid=0FSUID="root" OUID="root"
```
```
type=AVC msg=audit(1669540392.244:2944): apparmor="DENIED"
operation="exec" profile="lsb_release" name="/usr/bin/cat" pid=17847
comm="lsb_release" requested_mask="x" denied_mask="x" fsuid=0
ouid=0FSUID="root" OUID="root"
```
Update profile to allow lsb_release script to invoke required
executables.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/953
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 495f68c797
)
f596a176
lsb_release: allow cat and cut
2022-11-27 13:00:19 +00:00
Christian Boltz
e617f04681
Merge Include profile name in error message on directory exec
...
... to make the error message more helpful.
Inspired by https://gitlab.com/apparmor/apparmor/-/issues/285
I propose this patch for 3.1 and master.
(3.0 uses a different variable name - if we want it there, it needs a slightly different patch.)
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/949
Approved-by: Jon Tourville <jon.tourville@canonical.com >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit dd5a6c2e0a
)
ef5c4b50
Include profile name in error message on directory exec
2022-11-21 12:59:51 +00:00
Christian Boltz
9d826aae65
Merge Catch PermissionError when trying to write a profile
...
... and re-raise it as AppArmorException so that only the actual error
(without a backtrace) gets displayed.
Fixes: https://gitlab.com/apparmor/apparmor/-/issues/282
I propose this patch for 3.0..master.
Closes #282
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/946
Approved-by: Jon Tourville <jon.tourville@canonical.com >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 50074a3c01
)
d0ec2aca
Catch PermissionError when trying to write a profile
2022-11-15 20:46:12 +00:00
Christian Ehrhardt
465c861b02
Allow access to possible cpus for glibc-2.36
...
Glibc in 2.36 and later will [1] access sysfs at
/sys/devices/system/cpu/possible when usig sysconf
for _SC_NPROCESSORS_CONF.
That will make a lot of different code, for example
anything linked against libnuma, trigger this apparmor
denial.
apparmor="DENIED" operation="open" class="file" ...
name="/sys/devices/system/cpu/possible" ...
requested_mask="r" denied_mask="r" fsuid=0 ouid=0

This entry seems rather safe, and it follows others
that are already in place. Instead of fixing each
software individually this should go into the base
profile as well.
Initially reported via
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1989073
Fixes: https://gitlab.com/apparmor/apparmor/-/issues/267
MR: none - ML
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com >
Signed-off-by: John Johansen <john.johansen@canonical.com >
(cherry picked from commit c159d0925a
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2022-11-14 21:47:18 -08:00
John Johansen
dc85d04805
Merge Adds WSL programmatic management of /etc/resolv.conf.
...
When WSL automatically generates a resolv.conf for an instance, the /etc/resolv.conf file is a symlink to /mnt/wsl/resolv.conf. This patch adds an entry for this to the other policies to handle such management.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/935
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 8fa77e9e6c
)
5232eaa2
Adds /mnt/wsl/resolv.conf to nameservices.
2022-11-08 18:13:57 +00:00
John Johansen
a40923006c
Merge Allow reading /sys/devices/system/cpu/possible
...
... in the dnsmasq//libvirt_leaseshelper profile
Fixes: https://bugzilla.opensuse.org/show_bug.cgi?id=1202849
I propose this patch for 3.0, 3.1 and master.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/917
Approved-by: Georgia Garcia <georgia.garcia@canonical.com >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 37f0f77425
)
ace8e044
Allow reading /sys/devices/system/cpu/possible
2022-11-08 18:11:23 +00:00
John Johansen
1fe80c0f85
Prepare for AppArmor 3.1.2 release
...
- update version file
- update library version
Signed-off-by: John Johansen <john.johansen@canonical.com >
2022-11-07 10:44:48 -08:00
John Johansen
8043dda3f6
Merge Hardcode and check the expected libapparmor.so name/number
...
... to prevent wrong/unexpected numbering (like
https://gitlab.com/apparmor/apparmor/-/issues/266 ) in future releases.
I propose this patch for master and 3.1.
Backporting to 3.0 and 2.x might also make sense, but of course needs a different .so number.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/915
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit bed1471144
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2022-10-29 03:08:56 -07:00
John Johansen
e95080e140
Merge libapparmor: allow parsing of logs with 0x1d + uppercase items
...
audit.log lines on Arch have an additional FSUID="username" OUID="username",
separated from the previous part of the log line with 0x1d.
Extend the log parsing to accept 0x1d as whitespace, and to recognize
(and ignore) FSUID and OUID.
Fixes: https://gitlab.com/apparmor/apparmor/-/issues/271
Also add one of the log lines from #271 as test_multi test case.
I propose this patch for 3.0..master.
Closes #271
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/940
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit 0d61139e2a
)
Signed-off-by: John Johansen <john.johansen@canonical.com >
2022-10-29 03:06:30 -07:00
John Johansen
45125cedd3
Merge syslog-ng: allow reading *.journal in flatter directory structure
...
On openSUSE Leap 15.4 (and probably also 15.3), the journal lives in
/var/log/journal/*.journal - without an additional subdirectory level.
I propose this patch for 2.13..master.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/932
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
2022-10-28 05:56:57 -07:00
Christian Boltz
969a8f7618
Merge samba-rpcd-spoolss: allow mkdir /var/cache/samba/printing/
...
Fixes: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1993572
I propose this fix for 3.0..master.
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/937
Approved-by: Georgia Garcia <georgia.garcia@canonical.com >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit fab4b4e762
)
6920daea
samba-rpcd-spoolss: allow mkdir /var/cache/samba/printing/
2022-10-27 22:34:12 +00:00
Christian Boltz
770b8f1e88
Merge abstactions/kde: update for kwinrc, kdedefaults/* files
...
GUI applications such as KDE dragon player, qTox, LibreOffice tries to
access .config/kwinrc, .config/kdedefaults/kwinrc and
.config/kdedefaults/kdeglobals.
Update abstractions/kde to fix denials for applications running under
KDE.
Some examples:
```
type=AVC msg=audit(1666458796.112:5561): apparmor="DENIED" operation="open" profile="libreoffice-soffice" name="/home/vincas/.config/kdedefaults/kdeglobals" pid=43868 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
type=AVC msg=audit(1666458796.204:5683): apparmor="DENIED" operation="open" profile="libreoffice-soffice" name="/home/vincas/.config/kdedefaults/kwinrc" pid=43868 comm="soffice.bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
```
```
type=AVC msg=audit(1666462415.255:3640): apparmor="DENIED" operation="open" profile="kde-dragon-player" name="/home/vincas/.config/kdedefaults/kdeglobals" pid=8344 comm="dragon" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
type=AVC msg=audit(1666462415.343:3641): apparmor="DENIED" operation="open" profile="kde-dragon-player" name="/home/vincas/.config/kdedefaults/kwinrc" pid=8344 comm="dragon" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
```
```
type=AVC msg=audit(1666459466.968:5852): apparmor="DENIED" operation="open" profile="qtox" name="/home/vincas/.config/kdedefaults/kdeglobals" pid=44561 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
type=AVC msg=audit(1666459467.076:6057): apparmor="DENIED" operation="open" profile="qtox" name="/home/vincas/.config/kdedefaults/kwinrc" pid=44561 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
type=AVC msg=audit(1666459467.076:6058): apparmor="DENIED" operation="open" profile="qtox" name="/home/vincas/.config/kwinrc" pid=44561 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000FSUID="vincas" OUID="vincas"
```
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/936
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 18d1b06b0c
)
d9dc0b61
abstactions/kde: update for kwinrc, kdedefaults/* files
2022-10-22 19:28:38 +00:00
Christian Boltz
3345250f72
Merge parser: fix DISTRO variable in Makefile
...
A single '$()' results in variable expansion, which makes
"$(rpm --eval ..)" always an empty string.
Signed-off-by: Alexey Kodanev <aleksei.kodanev@bell-sw.com >
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/928
Approved-by: Christian Boltz <apparmor@cboltz.de >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit 05d7bdd655
)
1df547ee
parser: fix DISTRO variable in Makefile
2022-10-07 19:54:08 +00:00
John Johansen
51cf0848c7
Merge profiles/apparmor.d: Update samba profile
...
Fixes: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1990692
Signed-off-by: Spyros Seimenis <spyros.seimenis@canonical.com >
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/926
Approved-by: John Johansen <john@jjmx.net >
Merged-by: John Johansen <john@jjmx.net >
(cherry picked from commit e1cc90f3a2
)
96aff5a5
profiles/apparmor.d: Update samba profile
2022-10-01 10:20:32 +00:00
Christian Boltz
e0c0a6a6a5
Merge Prevent crash on log entries for non-existing profile
...
If audit.log contains entries for a profile that doesn't exist (for
example when working with a log file from another system), skip these
log entries instead of crashing.
Reproducer (crashes without this patch):
aa-logprof -f <(echo 'type=AVC msg=audit(1661739121.578:77893): apparmor="DENIED" operation="open" profile="no_such_profile" name="/run/" pid=33099 comm="no" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0')
I propose this patch for 3.1 and master. (3.0 and older are not affected and do not need this fix.)
MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/919
Approved-by: Jon Tourville <jon.tourville@canonical.com >
Merged-by: Christian Boltz <apparmor@cboltz.de >
(cherry picked from commit f5594fbb7c
)
94c7c79c
Prevent crash on log entries for non-existing profile
2022-08-29 19:56:17 +00:00