-
Notifications
You must be signed in to change notification settings - Fork 10
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
Actix-X safety dance #65
Comments
See also: actix/actix-web#1296 |
A few pull requests with safety improvements have landed recently and should ship in version 3.0: actix/actix-net#158 However, some unsafe code remains and still needs to be audited for soundness. |
@Shnatsel do any of these rise to the level of needing an entry in the vuln db? |
Unsound Cell impls allow multiple mutable references to the same data, which may lead to pretty much arbitrary memory corruption, including use-after-free. However, it requires somewhat contrived code on the caller side. I'd say it deserves some kind of entry, but I'm not sure whether it should be for a warning or a hard error. I admit I cannot follow the other two well enough to judge. |
actix-web 3.0.0 with notable safety fixes has been released today. Here's a list of the actix-* crates that still use unsafe code:
So the most valuable audit target seems to be |
I've run it and for me it shows them for |
It seems most bugs 3.0 went through before release were related to mem-leaks, which are not memory errors and can be triggered with safe code. Buuut it seems like a great start to understanding how even a community that's heavily focused on safety can have problems with mem-leaks and maybe we eventually can understand better how to prevent them with cargo tools. Of course it's a hard task, but it's a pattern that seems to be on the rise. No UB, but struggling with mem-leaks. |
Versions in the latest git have even less unsafe code than the 3.0 release |
Is anyone up for an unsafe challenge? It is my understanding that the people around these parts are capable of taming the unsafe beast in Rust code. I wanted to share with you an opportunity to finally address long-running concerns about unsafe code in the actix projects. Contributors want to get rid of these unsafe. It is a priority. We are all in agreement that it is an issue. Now, contributors are resolving whatever they can, and trying to figure out how to do so as if performing a minimally invasive surgical procedure. One of the more popular unsafe is receiving attention now: actix/actix-net#98 With this benchmarking PR, people can now understand the impact that refactoring will have. If this interests anyone, please feel free to get involved!
The text was updated successfully, but these errors were encountered: