Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1019438 > unrolled thread
| Started by | Alessandro Vesely <vesely@tana.it> |
|---|---|
| First post | 2020-07-27 10:40 +0200 |
| Last post | 2020-07-27 19:10 +0200 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.debian.bugs.dist
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Bug#966343: libc6: Permission denied, intermittent in execve Alessandro Vesely <vesely@tana.it> - 2020-07-27 10:40 +0200
Bug#966343: bug#498: libc6: Permission denied, intermittent in execve Mark Hindley <mark@hindley.org.uk> - 2020-07-27 12:00 +0200
Bug#966343: bug#498: libc6: Permission denied, intermittent in execve Alessandro Vesely <vesely@tana.it> - 2020-07-27 12:00 +0200
Bug#966343: bug#498: libc6: Permission denied, intermittent in execve Samuel Thibault <sthibault@debian.org> - 2020-07-27 12:20 +0200
Bug#966343: bug#498: libc6: Permission denied, intermittent in execve Alessandro Vesely <vesely@tana.it> - 2020-07-27 19:10 +0200
| From | Alessandro Vesely <vesely@tana.it> |
|---|---|
| Date | 2020-07-27 10:40 +0200 |
| Subject | Bug#966343: libc6: Permission denied, intermittent in execve |
| Message-ID | <Ax6PT-3On-1@gated-at.bofh.it> |
Package: libc6 Version: GNU C Library (Debian GLIBC 2.28-10) stable release version 2.28. Severity: normal -------- Forwarded Message -------- Subject: libc6: Permission denied, intermittent in execve Date: Mon, 27 Jul 2020 10:25:27 +0200 From: Alessandro Vesely <vesely@tana.it> To: Devuan Bug Tracking System <submit@bugs.devuan.org> Dear Maintainer, in certain situations, execve fails setting errno to EACCESS. The same program, launched by the same user in different ways, succeeds or fails according to preceding actions. None of the failure conditions for EACCESS is met. The case at hand happens with an old version of Thunderbird and a LibreOffice attachment. After saving the attachment, Thunderbird execs gio-launch-desktop. The latter tries to exec libreoffice6.4 and fails. I strace'd the full arguments used in the failed execve(), and copied them to a simple C program which runs just that execve() call. When called from the command line, the program succeeds. Then I replaced the gio-launch-desktop executable with my straw men. When called from Thunderbird, the program fails. See also: https://unix.stackexchange.com/questions/600174/permission-denied-intermittent-in-execve -- System Information: Distributor ID: Debian Description: Devuan GNU/Linux 3 (beowulf) Release: 3 Codename: beowulf Architecture: x86_64 Kernel: Linux 4.19.0-9-amd64 (SMP w/8 CPU cores) Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), LANGUAGE=en_IE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash
[toc] | [next] | [standalone]
| From | Mark Hindley <mark@hindley.org.uk> |
|---|---|
| Date | 2020-07-27 12:00 +0200 |
| Subject | Bug#966343: bug#498: libc6: Permission denied, intermittent in execve |
| Message-ID | <Ax85j-4uf-1@gated-at.bofh.it> |
| In reply to | #1019438 |
On Mon, Jul 27, 2020 at 11:47:34AM +0200, Alessandro Vesely wrote: > > However, one thought that occurs to me is whether apparmor is causing this? Does > > disabling it[1] restore predictable behaviour? > > Bingo! > > Jul 27 09:47:25 pcale kernel: [ 1569.887279] audit: type=1400 audit(1595836045.642:33): apparmor="DENIED" operation="exec" profile="thunderbird" name="/opt/lib > reoffice6.4/program/soffice" pid=5402 comm="gio-launch-desk" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0 > > I dunno how come apparmor got installed. Probably it happened when I upgraded > to Beowulf. Yes, it is now the default in Debian buster and Devuan beowulf has inherited that. Mark
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Vesely <vesely@tana.it> |
|---|---|
| Date | 2020-07-27 12:00 +0200 |
| Subject | Bug#966343: bug#498: libc6: Permission denied, intermittent in execve |
| Message-ID | <Ax85j-4uf-5@gated-at.bofh.it> |
| In reply to | #1019438 |
Hi Mark, On Mon 27/Jul/2020 11:14:01 +0200 Mark Hindley wrote: > On Mon, Jul 27, 2020 at 10:32:15AM +0200, Alessandro Vesely wrote: >> Package: libc6 >> Version: GNU C Library (Debian GLIBC 2.28-10) stable release version 2.28. >> Severity: normal >> >> in certain situations, execve fails setting errno to EACCESS. The same >> program, launched by the same user in different ways, succeeds or fails >> according to preceding actions. > > Thanks for this. As you have realised, libc6 is a Debian package that Devuan > uses directly without recompilation so this issue is correctly dealt with in > Debian's BTS. > > However, one thought that occurs to me is whether apparmor is causing this? Does > disabling it[1] restore predictable behaviour? Bingo! Jul 27 09:47:25 pcale kernel: [ 1569.887279] audit: type=1400 audit(1595836045.642:33): apparmor="DENIED" operation="exec" profile="thunderbird" name="/opt/lib reoffice6.4/program/soffice" pid=5402 comm="gio-launch-desk" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0 I dunno how come apparmor got installed. Probably it happened when I upgraded to Beowulf. After aa-teardown and purging apparmor, execve works as expected. So this turns out to be a documentation bug. The execve man page should mention that EACCESS can result as an (unforeseen) apparmor impediment. Thank you so much Ale
[toc] | [prev] | [next] | [standalone]
| From | Samuel Thibault <sthibault@debian.org> |
|---|---|
| Date | 2020-07-27 12:20 +0200 |
| Subject | Bug#966343: bug#498: libc6: Permission denied, intermittent in execve |
| Message-ID | <Ax8oG-4Qo-5@gated-at.bofh.it> |
| In reply to | #1019449 |
Alessandro Vesely, le lun. 27 juil. 2020 11:47:34 +0200, a ecrit: > So this turns out to be a documentation bug. The execve man page should mention that EACCESS can result as an (unforeseen) apparmor impediment. Well, basically all system calls would then need this... Samuel
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Vesely <vesely@tana.it> |
|---|---|
| Date | 2020-07-27 19:10 +0200 |
| Subject | Bug#966343: bug#498: libc6: Permission denied, intermittent in execve |
| Message-ID | <AxeNr-pw-3@gated-at.bofh.it> |
| In reply to | #1019454 |
On Mon, 27 Jul 2020 12:13:44 +0200 Samuel Thibault <sthibault@debian.org> wrote:
> Alessandro Vesely, le lun. 27 juil. 2020 11:47:34 +0200, a ecrit:
> > So this turns out to be a documentation bug. The execve man page should mention that EACCESS can result as an (unforeseen) apparmor impediment.
>
> Well, basically all system calls would then need this...
Yeah, likely. How many man pages have snippets like "[...] denied for one of the directories in the path [...]"?
Yet, considering the following examples, they seem to have been written manually rather than resorting to some sort of script:
EACCES The requested access to the file is not allowed, or search permission is denied for one of the directories in the path
prefix of pathname, or the file did not exist yet and write access to the parent directory is not allowed. (See also
path_resolution(7).)
EACCES Search permission is denied on a component of the path prefix of filename or the name of a script interpreter. (See
also path_resolution(7).)
EACCES Write access to the directory containing newpath is denied, or search permission is denied for one of the directories
in the path prefix of oldpath or newpath. (See also path_resolution(7).)
EACCES Search permission is denied for a component of the path prefix, or the named file is not writable by the user.
(See also path_resolution(7).)
EACCES Search permission is denied on a component of the path prefix. (See also path_resolution(7).)
Philip Couling commented that the man page /could/ mention security extensions since they are prevelent. See:
https://unix.stackexchange.com/questions/600174/identical-execve-causes-permission-denied-for-one-program-but-not-another/600529#comment1121270_600529
For execve, for example, one could add that permissions are not derived from file flags only. For example:
OLD:
EACCES Execute permission is denied for the file or a script or ELF interpreter.
NEW:
EACCES Execute permission for the file or a script or ELF interpreter is denied either by flags or by security modules.
Would that be correct? Do all "DENIED" operations result in EACCES? And what do other security modules do? Hmm... Starting to document that mess from the point of view of programs getting such failure codes would allow better logging and better troubleshooting.
Best
Ale
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.bugs.dist
csiph-web