Red Hat Bugzilla – Bug 869555
ausearch -i does not interpret execve arguments when aN_len=nbytes is encountered
Last modified: 2015-07-13 00:14:45 EDT
Description of problem:
When arguements to audit execve are too long, they are split up into multiple execve records. The based execve audit record adds a key value pair of aN_len=nbytes where N is the argument number and nbytes is the total number of bytes in the argument that has been split up.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Generate an audit event where multiple execve audit records are generated - perhaps an execution of man
2. Run ausearch -i -if audit.log
3. View the mis-interpretation of the nbytes value of the aN_len=nbytes key value pair.
Dependant on nbytes value
aN_len value should be interpreted as an integer rather than a string.
I expect you need to modify the lookup routine that types the key values
Fixed upstream...Committed revision 723.
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.
Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.
audit-2.3.7-1.el6 was built to resolve this issue.
Is it possible the version which contains this bug or more detailed steps to reproduce it?
I tried these versions:
I tried these steps to reproduce:
auditctl -a exit,always -F arch=b32 -S execve
man aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
ausearch -i -if /var/log/audit/audit.log | grep len
auditctl -d exit,always -F arch=b32 -S execve
The output of ausearch does not contain any "_len" though. Maybe I am not able to produce a splitted entry in audit log?
(In reply to Martin Žember from comment #7)
> Is it possible the version which contains this bug or more detailed steps to
> reproduce it?
> I tried these versions:
> I tried these steps to reproduce:
> auditctl -a exit,always -F arch=b32 -S execve
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a a a a a a
> a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
> ausearch -i -if /var/log/audit/audit.log | grep len
> auditctl -d exit,always -F arch=b32 -S execve
> The output of ausearch does not contain any "_len" though. Maybe I am not
> able to produce a splitted entry in audit log?
This was fixed in 2.2.2 as per the release notes
- Don't interpret aN_len field in EXECVE records (#869555)
found in https://people.redhat.com/sgrubb/audit/ChangeLog
Thank you, Burn.
It seems that the problem was also that I was not providing an argument that was big enough. Running "man `perl -e "print 'a'x10000"`" triggered it. Steve Grubb found that the length should be at least about 8560.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.