curl 8.23.0 : le bordereau dit 281, l'étagère compte 283 tirets
Le 14 octobre, le billet annonce la 277e sortie, 4 changements, 281 correctifs, 24 failles, et « plus de deux cent soixante » correctifs dans la phrase d'après. La page des changements a 4 lignes et 283 tirets de correctifs. Le tableau des CVE date 24 lignes du 14 octobre, dont 3 ont pour dernière version touchée 8.21.0.
L'entrepôt a trois comptes pour le même carton. Le bordereau scotché dessus dit 281. La phrase dite à voix haute, juste à côté, dit plus de deux cent soixante. Le long de l'étagère, si tu comptes les tirets un par un, tu arrives à 283. Le local fermé à clé, celui des failles, a une autre addition : 24 lignes datées du jour, et trois d'entre elles étaient déjà closes sur la version d'avant. Si tu signes le bon sans dire quelle feuille tu as lue, tu signes un total qui n'est pas le tien.
Le 14 octobre 2026, Daniel Stenberg publie curl 8.23.0. La ligne des chiffres : la 277e sortie, 4 changements, 42 jours, total 10 929, 281 correctifs, total 14 770, 476 commits, total 40 084. Zéro nouvelle fonction publique de libcurl, total 100. Zéro nouvelle option de curl_easy_setopt(), total 312. Zéro nouvelle option de ligne de commande, total 278. 84 contributeurs, dont 58 nouveaux, total 3 844. 45 auteurs, dont 28 nouveaux, total 1 546. 24 correctifs de sécurité, total 239.
Le 281 et le 283 ne sont pas la même caisse
Sous ces chiffres, la section Sécurité dit qu'on annonce pas moins de vingt-quatre vulnérabilités corrigées. Trop pour les lister ici. Il faut aller les voir sur la page sécurité de curl. La section Correctifs, elle, dit que plus de deux cent soixante correctifs sont arrivés dans cette sortie, et elle renvoie au changelog de la 8.23.0. « Over two hundred and sixty. » Le 281 est au-dessus. La phrase est en dessous. Les deux sont vrais l'un de l'autre si 281 est le bon compte, puisque 281 dépasse 260. Ils ne sont pas le même nombre.
La page des changements titre Fixed in 8.23.0 - October 14 2026. Sous Changes, j'ai compté 4 lignes. C'est le 4 du billet. Sous Bugfixes, j'ai compté 283 lignes qui commencent par un tiret, jusqu'au titre suivant, Fixed in 8.22.0 - September 2 2026. 283 n'est pas 281. 283 dépasse aussi deux cent soixante. Je ne corrige pas le bordereau pour le faire coller à l'étagère, et je ne retire pas deux tirets pour le faire coller au billet.
Le 42 du billet, lui, rencontre les deux dates du changelog. Du 2 septembre 2026 au 14 octobre 2026, il y a 42 jours. C'est le seul total de cette caisse que j'ai pu recompter sans me demander quelle feuille avait raison.
Le symbole est « déprécié » sur le billet, et une flèche sur l'étagère
Les quatre lignes de changements : CURL_GLOBAL_WIN32 -> CURL_GLOBAL_WINSOCK, SMB: drop support, l'injection du numéro no-clobber avant l'extension, et try up to .9999 quand on ne veut pas écraser. Quatre tirets. Le billet en a trois, et le troisième en contient deux, numérotés. Le compte revient à quatre si tu comptes les sous-numéros. La phrase, elle, ne revient pas au même mot.
Le billet : le symbole qu'on appelait CURL_GLOBAL_WIN32 est maintenant déprécié au profit du nom plus juste CURL_GLOBAL_WINSOCK, utilisé avec curl_global_init. Le changelog imprime une flèche. Il n'imprime pas « deprecated » sur cette ligne. Je n'ai pas ouvert l'en-tête. Je ne sais pas, d'après ces deux feuilles, si l'ancien nom compile encore.
Le no-clobber, sur le billet : l'option insère le numéro dans le nom de fichier sous la forme « -number », avant l'extension s'il y en a une, et elle essaie beaucoup plus de numéros avant d'abandonner, jusqu'à 9999. Le changelog dit d'essayer jusqu'à .9999, avec un point devant 9999. Le tiret et les crochets sont sur le billet. Le point est sur le changelog. Je ne choisis pas le caractère qui atterrit dans le nom.
SMB, sur le billet : le support SMB(S) a disparu. Ni curl ni libcurl ne parlent plus ces protocoles. Le changelog dit drop support. Dans les correctifs, une ligne dit DEPRECATE.md: reflect SMB removal. Le mot « deprecate » est le nom d'un fichier à mettre à jour. Le mot du billet pour le protocole est « gone ». Je ne lis pas le nom du fichier comme si SMB était seulement déprécié.
Vingt-quatre lignes datées du jour, trois déjà closes avant
Le tableau des CVE a des colonnes : numéro, sévérité, puis la faille, la date Published, First, Last. Le total 239 du billet est le numéro de la première ligne du tableau, CVE-2026-107929. J'ai compté les lignes dont Published est 2026-10-14. Il y en a 24, du numéro 239 au numéro 216. C'est le 24 du billet, si tu comptes les lignes publiées ce jour-là.
Ce n'est pas le même 24 si tu comptes les lignes dont Last est 8.22.0. Celles-là, je les compte à 21, du 239 au 219 inclus. Last 8.22.0, je le lis comme : dernière version touchée, 8.22.0. La 8.23.0 est celle du jour. Les trois lignes d'après ont Last 8.21.0. Numéro 218, CVE-2026-86409, en-têtes SigV4 périmés, First 7.75.0. Numéro 217, CVE-2026-86411, réutilisation d'une connexion FTP qui hérite d'un certificat client, First 8.21.0, Last 8.21.0. Numéro 216, CVE-2026-87864, IMAP APPEND et conversion CRLF, First 7.30.0. Publiées le 14 octobre. Dernière version touchée : 8.21.0. Je ne les range pas dans le sac des failles dont la 8.22.0 était encore la dernière.
Dans ces 24 lignes, une seule a la sévérité H : le numéro 229, CVE-2026-92392, use-after-free sur un envoi HTTP/2, First 8.12.0, Last 8.22.0. Les 23 autres de la journée sont en L. Le billet ne le dit pas. Il dit qu'il ne les liste pas. Je ne les recopie pas toutes sur le bordereau.
✍️ À toi : la feuille que tu as vraiment sous les yeux, billet, changelog ou tableau, et le nombre que tu y lis pour les correctifs. Eux ont 281, une phrase au-dessus de 260, et 283 tirets.
Le 14 octobre, le billet de curl 8.23.0 aligne 4 changements, 281 correctifs, 24 failles et un total de 239, puis il dit « plus de deux cent soixante » correctifs sans les nommer. Le changelog a 4 lignes de changements et 283 tirets de correctifs, date la 8.22.0 au 2 septembre, et écrit une flèche là où le billet dit « deprecated », un point devant 9999 là où le billet écrit un tiret. Le tableau a bien 24 lignes publiées ce jour-là, dont 21 s'arrêtent à 8.22.0, trois à 8.21.0, et une seule en sévérité H. Trois comptes. Un carton.