Welcome!
A bit of an ancient
web2.0 design,
Couple lines of code,
thoughts, photo and a charm. Read more
Blog
Notes, examples and
surprises. Go to blog
Electronics
micro, radio,
and usual. Go to category
Photo
From different categories. View category
Only six months had passed, but the news feed continued to bring new funny vulnerabilities.
As usual, I don’t focus on system vulnerabilities in snapd / Rust Coreutils / Flatpak, or kernel (Copy Fail, Dirty Frag, Fragnesia, pidfd, PinTheft, GRO Frag) or AppArmor.
No matter how dangerous they may be, they are “conditionally” passive, meaning that if they are present, a number of factors and active actions from within or outside are required for successful exploitation.
I’m much more interested in tracking compromises of package distribution systems, libraries, and other package repositories.
Because these are “active” and direct attacks, they require almost no combination of factors; after downloading, they will immediately hit the developer’s repository, then collect their personal/financial/authorization information, and then continue to act in a chain fashion on all servers to which they had access.
5/May/2026 zero-trustsecuritywaypipewayland
Continuing with the previous boring opuses about environment isolation, it’s time to remember Wayland.
Of course, this is not a call to action, but just simple examples and reflections.
I personally adhere to a philosophy where the user is the center of the system, and he has the right to configure everything as he sees fit, and not as it is imposed by general trends, or as it is implemented in a specific distribution, at the same time understanding and accepting all the risks and consequences of these actions.
As the saying goes, “If you know what you are doing.”
And before we begin, it’s worth writing again that:
And, simplifying and adapting QubesOS ideas to my everyday needs, I prefer to use either other local users or lightweight unprivileged LXC environments.
And yes, I don’t run anything potentially dangerous in them, but rather something that many of you use directly under your system account, for example:
10/January/2026 zero-trustsecurity
Let’s consider a standard situation where you have a main work computer on which you have three different projects.
One project is on nodejs, the second is a production project on python, and the third is your personal “pet project”, also on python.
You also have personal and work email in the same system, and, say, a browser and home-banking.
And all this under your login.
Well, not under the root login, of course! ¯\_(ツ)_/¯
Everything is quite normal.
Many technically competent developers may have dozens of such projects.
And dozens of keys for SSH or GIT servers.
It’s quite ordinary: you write your code, commit it from time to time, and then a torchtriton update arrives in your cozy pet project.
And after that, the following data sets were transferred from your system, in accordance with the binary’s main function:
nameservers from /etc/resolv.confhostname from gethostname()current username from getlogin()current working directory name from getcwd()environment variables/etc/hosts/etc/passwdThe first 1,000 files in $HOME/*$HOME/.gitconfig$HOME/.ssh/*The update arrived and the confidential data flew away.
It’s not just everything under your account (and possibly the system) has been compromised, but also, down the chain, everything you managed, committed to, and connected to.
25/November/2025 kubernetesgitlabagentk
Without going into detail about how exactly and why everything is organized, access is provided through the following chain:
1 | Nginx stream ingress <> Main Nginx Frontend <> Nginx Backend inside GitLab instance. |
The Main Frontend manages the gitlab subdomain, which is closed to external access via auth_basic authorization.
11/March/2025 jekyllstructured-datanginx
In this note I will not provide the full code for all components, I will only give snippets and tips on what to pay attention to when assembling a site on jekyll.
Every page has at least three timestamp points in different files, page elements, or server responses, and they must all be the same.
"dateModified": "2025-03-07T15:43:42+00:00"<lastmod>2025-03-07T15:43:42+00:00</lastmod>last-modified: Fri, 07 Mar 2025 15:43:42 GMT