liblame0 executable stack
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lame (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
Binary package hint: liblame0
After building liblame0:
bluefox@
RWX --- --- ./frontend/mp3x
RWX --- --- ./frontend/mp3rtp
RWX --- --- ./frontend/lame
RWX --- --- TEXTREL ./debian/
RWX --- --- ./debian/
RWX --- --- ./debian/
RWX --- --- ./debian/
RWX --- --- TEXTREL ./libmp3lame/
!WX --- --- ./libmp3lame/
!WX --- --- ./libmp3lame/
!WX --- --- ./libmp3lame/
The fix for this, as in bug #49283 (relating to libflac7), is to append the following code to libmp3lame/
; PT_GNU_STACK so we don't get a +X stack
%ifidn __OUTPUT_
section .note.GNU-stack noalloc noexec nowrite progbits
%endif
I looked around and didn't see any calls or jumps or branches into esp-anything so I'm pretty sure this is safe.
Somebody should submit a patch to upstream.
bluefox@ icebox: /tmp/x/ lame-3. 96.1$ scanelf -qeRt . liblame0/ usr/lib/ libmp3lame. so.0.0. 0 .libs/libmp3lam e.so.0. 0.0
TEXTREL ./debian/
TEXTREL ./libmp3lame/
By the way, I have nfc how to fix .text relocations. Oh well, at least they don't need an executable stack.