Public bug reported:

The sequence of commands below should not succeed. They show that the
parser is incorrectly encoding a change_profile rule with an exec
condition to allow a direct changeprofile operation without the exec
condition being satisfied.

$ echo "profile nt { file, signal, unix, }" | sudo apparmor_parser -qr
$ echo "profile test { file, signal, unix, change_profile /does/not/exist -> 
nt, }" | sudo apparmor_parser -qr
$ aa-exec -p test -- bash
$ cat /proc/self/attr/current
test (enforce)
# IMPORTANT: This command should fail instead of allowing the process confined
# by the # "test" profile change to the "nt" profile without an exec
$ echo "changeprofile nt" > /proc/self/attr/current
$ cat /proc/self/attr/current
nt (enforce)

** Affects: apparmor
     Importance: High
     Assignee: Tyler Hicks (tyhicks)
         Status: Triaged

** Affects: apparmor (Ubuntu)
     Importance: High
     Assignee: Tyler Hicks (tyhicks)
         Status: Triaged


** Tags: aa-parser

** Description changed:

- The sequence of commands below should not succeed.
+ The sequence of commands below should not succeed. They show that the
+ parser is incorrectly encoding a change_profile rule with an exec
+ condition to allow a direct changeprofile operation without the exec
+ condition being satisfied.
  
  $ echo "profile nt { file, signal, unix, }" | sudo apparmor_parser -qr
  $ echo "profile test { file, signal, unix, change_profile /does/not/exist -> 
nt, }" | sudo apparmor_parser -qr
  $ aa-exec -p test -- bash
  $ cat /proc/self/attr/current
  test (enforce)
- 
- # This command should fail instead of allowing the process confined by the 
"test" profile change to the "nt" profile without an exec
+ # IMPORTANT: This command should fail instead of allowing the process confined
+ # by the # "test" profile change to the "nt" profile without an exec
  $ echo "changeprofile nt" > /proc/self/attr/current
  $ cat /proc/self/attr/current
  nt (enforce)

** Also affects: apparmor
   Importance: Undecided
       Status: New

** Changed in: apparmor
   Importance: Undecided => High

** Changed in: apparmor
       Status: New => Triaged

** Changed in: apparmor
     Assignee: (unassigned) => Tyler Hicks (tyhicks)

** Changed in: apparmor (Ubuntu)
   Importance: Undecided => High

** Tags added: aa-parser

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apparmor in Ubuntu.
https://bugs.launchpad.net/bugs/1584165

Title:
  a change_profile rule with an exec condition allows for a direct
  changeprofile operation

Status in AppArmor:
  Triaged
Status in apparmor package in Ubuntu:
  Triaged

Bug description:
  The sequence of commands below should not succeed. They show that the
  parser is incorrectly encoding a change_profile rule with an exec
  condition to allow a direct changeprofile operation without the exec
  condition being satisfied.

  $ echo "profile nt { file, signal, unix, }" | sudo apparmor_parser -qr
  $ echo "profile test { file, signal, unix, change_profile /does/not/exist -> 
nt, }" | sudo apparmor_parser -qr
  $ aa-exec -p test -- bash
  $ cat /proc/self/attr/current
  test (enforce)
  # IMPORTANT: This command should fail instead of allowing the process confined
  # by the # "test" profile change to the "nt" profile without an exec
  $ echo "changeprofile nt" > /proc/self/attr/current
  $ cat /proc/self/attr/current
  nt (enforce)

To manage notifications about this bug go to:
https://bugs.launchpad.net/apparmor/+bug/1584165/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to