FYI, I clarified the description that the issue is for 'aa-exec', not everything.
** Description changed: - Somewhere between 3.13 and 4.4, the scrubbing behavior of ix changed. - For example, on Ubuntu 12.04 and 14.04 we have: + Somewhere between 3.13 and 4.4, the scrubbing behavior of ix for aa-exec + changed. For example, on Ubuntu 12.04 and 14.04 we have: * ux does not scrub * Ux does scrub * ix does not scrub but in 16.04 and later we have: * ux does not scrub * Ux does scrub * ix does scrub # WRONG I discussed this with jjohansen some time ago (just now filing the bug) - and we concluded that ix shouldn't scrub and the behavior change was - unintentional, but that this needed to be investigated. + and we concluded that ix shouldn't scrub and the behavior change for aa- + exec was unintentional, but that this needed to be investigated. Attached is a reproducer: $ tar -zxvf ./reproducer.tar.gz reproducer/ reproducer/test.sh reproducer/driver.sh reproducer/profile $ cd reproducer && ./driver.sh Loading apparmor profiles... ... ix should scrub: FAIL: ix scrubs Ux should scrub: PASS ux should not scrub: PASS FAIL [1] The separate reproducer is: $ cat ./profile #include <tunables/global> profile aaexec-ix { #include <abstractions/base> #include <abstractions/bash> #include <abstractions/perl> /bin/dash ixr, /bin/grep ixr, /**/test.sh r, @{PROC}/*/attr/exec rw, change_profile -> unconfined, /usr/{,s}bin/aa-exec ixr, } $ cat ./test.sh #!/bin/sh set -e export LD_LIBRARY_PATH="foo" aa-exec -p unconfined -- /bin/dash -c 'env' | grep LD_ - $ sudo apparmor_parser -r ./profile $ export LD_LIBRARY_PATH=foo Then on (at least) 4.4 and higher: $ aa-exec -p aaexec-ix -- ./test.sh | grep foo [1] $ and on (at least) 3.13 and below: $ aa-exec -p aaexec-ix -- ./test.sh | grep foo LD_LIBRARY_PATH=foo $ Note: I also tested the perl aa-exec on newer releases and it shows the same ix scrubbing behavior as the binutils aa-exec. ** Description changed: Somewhere between 3.13 and 4.4, the scrubbing behavior of ix for aa-exec - changed. For example, on Ubuntu 12.04 and 14.04 we have: + changed. Non-aa-exec cases work correctly everywhere (no scrubbing). For + example, on Ubuntu 12.04 and 14.04 we have: * ux does not scrub * Ux does scrub * ix does not scrub but in 16.04 and later we have: * ux does not scrub * Ux does scrub * ix does scrub # WRONG I discussed this with jjohansen some time ago (just now filing the bug) and we concluded that ix shouldn't scrub and the behavior change for aa- - exec was unintentional, but that this needed to be investigated. + exec with ix was unintentional, but that this needed to be investigated. Attached is a reproducer: $ tar -zxvf ./reproducer.tar.gz reproducer/ reproducer/test.sh reproducer/driver.sh reproducer/profile $ cd reproducer && ./driver.sh Loading apparmor profiles... ... ix should scrub: FAIL: ix scrubs Ux should scrub: PASS ux should not scrub: PASS FAIL [1] The separate reproducer is: $ cat ./profile #include <tunables/global> profile aaexec-ix { #include <abstractions/base> #include <abstractions/bash> #include <abstractions/perl> /bin/dash ixr, /bin/grep ixr, /**/test.sh r, @{PROC}/*/attr/exec rw, change_profile -> unconfined, /usr/{,s}bin/aa-exec ixr, } $ cat ./test.sh #!/bin/sh set -e export LD_LIBRARY_PATH="foo" aa-exec -p unconfined -- /bin/dash -c 'env' | grep LD_ $ sudo apparmor_parser -r ./profile $ export LD_LIBRARY_PATH=foo Then on (at least) 4.4 and higher: $ aa-exec -p aaexec-ix -- ./test.sh | grep foo [1] $ and on (at least) 3.13 and below: $ aa-exec -p aaexec-ix -- ./test.sh | grep foo LD_LIBRARY_PATH=foo $ Note: I also tested the perl aa-exec on newer releases and it shows the same ix scrubbing behavior as the binutils aa-exec. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1759346 Title: ix scrubs environment when it shouldn't when going through aa-exec To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1759346/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs