This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/11754] RFE: dlopen of ET_EXEC file
- From: "jreiser at BitWagon dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Sat, 16 Mar 2019 20:12:51 +0000
- Subject: [Bug dynamic-link/11754] RFE: dlopen of ET_EXEC file
- Auto-submitted: auto-generated
- References: <bug-11754-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=11754
John Reiser <jreiser at BitWagon dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|WONTFIX |---
--- Comment #14 from John Reiser <jreiser at BitWagon dot com> ---
(In reply to Florian Weimer from comment #13)
> We cannot support this because it is not possible to perform correct
> relocations if another executable has already been loaded. There is also no
> way to correctly execute the ELF constructors of the second executable.
Please give specific examples or explanations why success (or a recognizable,
specific, and informative error code) is not possible. The relocations of the
dl_open()ed ./hello32 are preformed correctly enough to invoke printf() through
the usual PLT (Program Linkage Table) [evidence in Comment #3], which directly
contradicts the claim of Comment #13.
The revised test case of the Description, and the revised patch in Comment #7
demonstrate that dl_open() of ET_EXEC can succeed. The remark of Comment #9
tells how to determine [non-]conflict of address space. Comment #13 has no
example or explanation why calling the DT_INIT* functions must fail.
> If you want to inject code into another executable, you can use LD_PRELOAD
> or LD_AUDIT, which does not have these problems.
Portions of the PT_INTERP and language-support run-time library initialization
run before any LD_PRELOAD or LD_AUDIT library. The goal is complete control by
the auditor. If there is to be any "injection of code", it will be
dl_open()ing the target executable into the auditor.
--
You are receiving this mail because:
You are on the CC list for the bug.