[apparmor] [patch] Fix logparser.py crash on change_hat events

John Johansen john.johansen at canonical.com
Sat Dec 12 06:16:24 UTC 2015


On 12/08/2015 01:40 PM, Christian Boltz wrote:
> Hello,
> 
> 'change_hat' events have the target profile in 'name2', not in 'name'
> (which is None and therefore causes a crash when checking if it contains
> '//')
> 
> Also add the log event causing this crash to the libapparmor testsuite.
> 
> References: https://bugs.launchpad.net/apparmor/+bug/1523297
> 
> 
> I propose this patch for trunk, 2.10 and 2.9.
> 
> 
Acked-by: John Johansen <john.johansen at canonical.com>

> [ 35-logparser-fix-change_hat-crash.diff ]
> 
> === modified file ./utils/apparmor/logparser.py
> --- utils/apparmor/logparser.py 2015-12-08 19:30:43.210864711 +0100
> +++ utils/apparmor/logparser.py 2015-12-08 22:32:35.942935356 +0100
> @@ -260,10 +260,10 @@
>          if e['operation'] == 'change_hat':
>              if aamode != 'HINT' and aamode != 'PERMITTING':
>                  return None
> -            profile = e['name']
> +            profile = e['name2']
>              #hat = None
> -            if '//' in e['name']:
> -                profile, hat = e['name'].split('//')[:2]
> +            if '//' in e['name2']:
> +                profile, hat = e['name2'].split('//')[:2]
>  
>          if not hat:
>              hat = profile
> === added file ./libraries/libapparmor/testsuite/test_multi/testcase_changehat_01.in
> --- libraries/libapparmor/testsuite/test_multi/testcase_changehat_01.in 2015-12-08 22:37:50.613264112 +0100
> +++ libraries/libapparmor/testsuite/test_multi/testcase_changehat_01.in 2015-12-08 22:04:34.079794942 +0100
> @@ -0,0 +1 @@
> +type=AVC msg=audit(1449442292.901:961): apparmor="ALLOWED" operation="change_hat" profile="/usr/sbin/httpd{,2}-prefork" pid=8527 comm="httpd-prefork" target="/usr/sbin/httpd{,2}-prefork//HANDLING_UNTRUSTED_INPUT"
> === added file ./libraries/libapparmor/testsuite/test_multi/testcase_changehat_01.out
> --- libraries/libapparmor/testsuite/test_multi/testcase_changehat_01.out        2015-12-08 22:37:52.369254773 +0100
> +++ libraries/libapparmor/testsuite/test_multi/testcase_changehat_01.out        2015-12-08 22:04:52.459698695 +0100
> @@ -0,0 +1,11 @@
> +START
> +File: testcase_changehat_01.in
> +Event type: AA_RECORD_ALLOWED
> +Audit ID: 1449442292.901:961
> +Operation: change_hat
> +Profile: /usr/sbin/httpd{,2}-prefork
> +Command: httpd-prefork
> +Name2: /usr/sbin/httpd{,2}-prefork//HANDLING_UNTRUSTED_INPUT
> +PID: 8527
> +Epoch: 1449442292
> +Audit subid: 961
> 
> 
> Regards,
> 
> Christian Boltz
> 




More information about the AppArmor mailing list