-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Permissions bypass exploit #1858
Comments
Thanks for reporting - makes sense. Only the "compiler" isolate should have access We don't have a great way to decide which Isolate an op request is coming from at the moment. But I'm refactoring this now, and I will add something so we can branch on it. |
After a little thought I decided that It would be a good idea to assign permissions on a per-isolate basis. I already have some working code for this refactor, and it should be beneficial for more than just solving this problem. |
Refactored permissions to be assignable on a per-isolate basis, and added a fix for #1858 to op_fetch_module_meta_data.
Fixed in 8c310d3 |
I found a direct bypass of the file system permissions checks.
The compiler code is currently designed around a privileged operation
op_fetch_module_meta_data
that can be used to read any file on the host file system or make almost any GET http/https request you want with the hosts connection. Thelibdeno.send
function required to send the request to run said operation is available in the global scope of any code executed in the same context.Proof of concept
The text was updated successfully, but these errors were encountered: