Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I suppose one could do this but then each OS will have to set flags on the browser executable and there is a whole can of security worms that opens. In Linux one could use

    sudo setcap cap_net_raw,cap_net_admin=eip /usr/lib/firefox/firefox
This could and probably should be automated in firejail or bubblewrap rather than the installer. Does this exist for Windows or Mac?

If using AppArmor or SELinux rules would need to be created unless Firejail is managing the rules on the fly. Then the browser would need to test for the capabilities and give some meaningful log in the web console because a way to debug this is considered good ettiquite. Then one would need a library or API in the browser that knows how to open raw sockets which means getting all the major browser developers to agree on a standard.

Thinking long term there are going to be security auditing tools that will detect the binary has non standard setcap modes meaning that browser developers would have to reach out to all these companies to get on the same page otherwise corporations will have some knee-jerk reactions.



UDP is not a privileged protocol. You don't need any capabilities to speak UDP. It's used by web browsers already for HTTP/3 as TFA mentions.

But also, apps needing additional capabilities is rather common and handled by most any package manager that's going to be providing you a browser. Chrome in various configurations ships with a `setuid` binary to implement their sandbox, for instance.


UDP is not a privileged protocol.

True, but a raw socket does require privs.


Wouldn’t you rather control these capabilities based on the origin domain, through the browser itself?


I would. That would be up to the library. The things I mentioned are the foundation required for the rest of that to work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: