Gobbel2000

joined 7 months ago
[–] Gobbel2000@programming.dev 16 points 1 day ago (2 children)

I have been really happy with sway. It does all that I want it to do.

[–] Gobbel2000@programming.dev 19 points 3 weeks ago (1 children)

That P != NP.

[–] Gobbel2000@programming.dev 6 points 3 weeks ago (2 children)

I can already do that on LineageOS 21 (Android 14), no rooting required.

[–] Gobbel2000@programming.dev 5 points 1 month ago

The documentation has improved a lot recently. Especially the pocket guide is a great addition.

 

linked from: https://programming.dev/post/19267200

In its current plan, the EU commission intends to cut €27 million in funding for Free Software. The article has a link to a questionnaire that you can fill out and express your opinion about the plan. I believe non-EU citizens can participate as well.

 

In its current plan, the EU commission intends to cut €27 million in funding for Free Software. The article has a link to a questionnaire that you can fill out and express your opinion about the plan. I believe non-EU citizens can participate as well.

[–] Gobbel2000@programming.dev 1 points 2 months ago (1 children)

Why not go with the base version then?

[–] Gobbel2000@programming.dev 3 points 2 months ago

Snake case and kebab case mixed arbitrarily.

[–] Gobbel2000@programming.dev 42 points 3 months ago (2 children)

Can we just take a step back and admire how completely bizarre this title sounds out of context?

[–] Gobbel2000@programming.dev 6 points 5 months ago

THE MORE YOU SAVE

[–] Gobbel2000@programming.dev 17 points 5 months ago (1 children)

Okay, who will go to court for the cereal soup question next?

[–] Gobbel2000@programming.dev 5 points 6 months ago (1 children)

When you import circles in the test file (even if you only select circles_area) the circles file basically gets executed from top to bottom to run all definitions at the point of the import statement. This executes your for loop which fails, and the actual tests are never run. Just remove that loop in the circles module, and it should work.

[–] Gobbel2000@programming.dev 29 points 7 months ago (1 children)

This blog post goes into some specifics of Rust reusing Vec allocations and some of the consequences. I think it's really worth a read to better understand Vecs. From what I understand, it is possible that Rust will reuse the allocation of vec_a in your case, but it ultimately is quite complicated.

[–] Gobbel2000@programming.dev 2 points 7 months ago

I (luckily) haven't had much experience using autotools, but I do suppose it was no coincidence that the injection was initiated there. I really like the comparison that was made in the post of the Meson maintainer you linked:

Several "undefeatable" fortresses have been taken over by attackers entering via sewage pipes.

 

While the exact details of this vulnerability are still investigated (see here if you want to catch up on the topic), I wanted to share some of the thoughts I had regarding to what this incident means for the wider open source ecosystem.

TL;DR: To summarize, these are the main points I found remarkable in this entire development:

  • A backdoor was snuck relatively openly into an open source project
  • It was done by a somewhat trusted maintainer
  • The target was not even xz itself, but rather sshd through an obscure chain of dependencies
  • Luckily, it was discovered within a few weeks before the backdoored version was widely adopted

Obviously, there are many examples of security vulnerabilities occurring in open source software. But these are usually due to oversights or mistakes of most likely well-meaning developers that end up enabling the possibility for critical exploits. In the case of the xz backdoor however, it was obviously constructed with malicious intent and high effort towards a precise target. Does anybody know of another vulnerability ending up in a high-profile open source project that is similar in that sense?

This was only possible because the malicious actor under the pseudonym Jia Tan had direct write access to the xz repository as a maintainer. I don't think it is too unreasonable that with enough time and effort, anyone can get maintenance access to openly developed projects like xz. That is part of the beauty of the democratic process in open source. But what this incident shows is that for projects that are as widely used as xz, even changes coming from seemingly trusted maintainers should be properly reviewed. I don't mean to say that the original maintainer Lasse Collin has any fault in this matter, or that he should have prevented it, this is too much of a burden to expect from a single person. Instead I think the large tech corporations should put more resources into vetting these kind of open source projects that much of their infrastructure so heavily relies on (in fact, this backdoor seems to mainly target servers).

Even just looking at the source code, the backdoor was very cleverly hidden in testing binaries for the compression algorithm. These things are always easy to say in hindsight, but I do believe that a closer review of the build system shenanigans used to install the backdoor would have at least raised some questions. There was just too much luck involved in the discovery of the backdoor with someone noticing ssh access taking 0.5 seconds longer than usual.

This isn't really news, but this incident again shows that just like a chain is only as strong as its weakest link, a program is only as strong as its weakest dependency. The fact that the backdoor just hooks into the dynamic library loading process and completely hijacks authorization functions of ssh from inside xz is pretty scary. Maybe this will encourage developers to be more careful and sparing with adding dependencies. However to be honest, up until recently I would have pretty blindly trusted xz to be a very safe dependency due to its popularity and relatively simple use-case.

By opening a backdoor into ssh servers, this is a very critical issue, and there was clearly a lot of time and effort put into making it seem innocuous and hard to detect. I'm very glad that it got found and patched by the time it did, but it does leave me wondering what else is out there. It would be illusionary to think that such attack vectors always get found out eventually.

view more: next ›