commit: 5295534511527f1f5c6c4c2e8ac66c4eff45695c
parent 7d2bf3061d7423389ecce40c293d654a5ed8a827
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Wed, 23 Aug 2023 19:23:51 +0200
notes/rust-issues: serde-rs, ring library
Diffstat:
1 file changed, 14 insertions(+), 0 deletions(-)
diff --git a/notes/rust-issues.xhtml b/notes/rust-issues.xhtml
@@ -27,6 +27,20 @@
Would also add that Cargo having a whole bunch of dependencies that rely on fetching code directly from the internet is really scary.
For example it depends on libgit2, which had repeated Remote Code Executions vulnerabilities (CVE-2019-1352, CVE-2019-1353, CVE-2020-12278, CVE-2020-12279, …) and I think is likely to get more in the future unless it changed it's design.
</p>
+
+ <h2><code>serde-rs</code> fiasco</h2>
+ <p>
+ <a href="https://www.bleepingcomputer.com/news/security/rust-devs-push-back-as-serde-project-ships-precompiled-binaries/">Ended up bundling binaries</a> due to how slow Rust compilation can be. And of course without ability to rebuild from source. Got fixed later with <a href="https://github.com/serde-rs/serde/pull/2590">Phase out precompiled #2590</a>.<br />
+ This is what intentionally throwing distros away gets you into.
+ </p>
+
+ <h2><code>ring</code> crypto library</h2>
+ <ul>
+ <li><a href="https://lib.rs/crates/ring/versions">No release, stable or alpha, since 2021</a></li>
+ <li>Used by virtually everything in Rust, it's a dependency of <code>rustls</code> <a href="https://lib.rs/crates/ring/rev">among other things</a></li>
+ <li>Grabs some C and Assembly code from BoringSSL, which no one except Google should be using as it doesn't have versions nor security notices</li>
+ <li><code>x86_{32,64}</code> and <code>arm{32,64}</code> only due to it using assembly and released versions not supporting a fallback to portable code. So for other architectures like ppc64, riscv, … you need to mangle the dependency tree to use patches / forks or the latest git.</li>
+ </ul>
</main>
<!--#include file="/templates/en/footer.shtml" -->
</body>