SChernykh / p2pool

Decentralized pool for Monero mining
GNU General Public License v3.0
1.03k stars 124 forks source link

Executable stack with v2.0 #160

Closed kpcyrd closed 2 years ago

kpcyrd commented 2 years ago

The binary distributed by Arch Linux has an executable stack:

% checksec --file=/usr/bin/p2pool
RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH  Symbols     FORTIFY Fortified   Fortifiable FILE
Full RELRO      Canary found      NX disabled   PIE enabled     No RPATH   No RUNPATH   No Symbols    Yes   6   21      /usr/bin/p2pool

The binary distributed in this repo also has an executable stack (and missing a few other harding options too):

% checksec --file=p2pool
RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH  Symbols     FORTIFY Fortified   Fortifiable FILE
Partial RELRO   No canary found   NX disabled   No PIE          No RPATH   No RUNPATH   No Symbols    No    0   0p2pool

NX disabled means the stack is executable. I'm not sure what's causing this though.

SChernykh commented 2 years ago

I guess it's because the project includes RandomX which has assembly source files. https://github.com/SChernykh/p2pool/commit/97818dd440d63c00f58bd9dc5799b4f623399fd1 should hopefully fix it.

SChernykh commented 2 years ago

Fixed in https://github.com/SChernykh/p2pool/commit/bfa8334aeb50da012734b13d4887faba0567d860

kpcyrd commented 2 years ago

Cool, thanks!