-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please add pax header for node #588
Comments
This feels like a doc-change rather than an image change. Do you agree?
I have to admit I've never even heard of pax, so I'm not sure what it entails. |
Pax will change elf header in node binary PaX#Binary_markings
It's caused by how v8 use memap, grsecurity prevent exec on mapped memory, so Without pax header for node, npm will fail too. To reproduce this, download standard https://alpinelinux.org/downloads/ alpine image, with with grsecurity patched, run in a vm, install docker, pull node and run. |
I can't reproduce this:
(Updated with correct output) |
Oh, wait, this is about running the image when Alpine is the Docker Host. Does upstream Docker officially support that? |
I'm guessing not: https://docs.docker.com/engine/installation/#time-based-release-schedule As @SimenB mentioned, this is more likely a doc change/update. |
Could you please provide these grep -e PAX_MPROTECT= -e GRKERNSEC= /boot/config-hardened
uname -s All of our servers use alpine, have the same problem. Maybe this is related to docker, but I don't know why Run node in docker docker run --rm --entrypoint sh -it node:alpine
node I got this from kernel message
But the way, I also got 139 exit, maybe relate to this #435 This is strace log
All mmap with PROT_EXEC return Operation not permitted that's why I got segfal. But if I install node from repository, node will just run without any problem even in docker. |
Am running into this same issue with the latest alpine and latest nodejs alpine apk. Is this an issue with grsec or is nodejs actually doing something it shouldn't be doing? |
Oddly enough, when I tried the steps in the first post above, first But then I ran actual node on a .js file and got "bus error" (instead of the "segmentation fault" that I was getting before).
EDIT: I did something and now am getting a slightly different error (btw, is it
|
You should use |
Thanks @wenerme, but I'm basically doing the same thing and am getting the I can run You can try it for yourself by creating a project and calling |
I has this problem with Microsoft Sqlserver (mssql) Docker
I fixed it disabled the grsecurity of the kernel
Like this https://forums.grsecurity.net/viewtopic.php?f=3&t=3877 |
Relate issues wekan/wekan#1303
Node jit need mprotect on hardened os.
The text was updated successfully, but these errors were encountered: