Quotidien suisseVendredi 2 octobre 2026Édition de 13h, technologie
Prochaine publication le 2 octobre 2026 à 17h
Une · Cloudflare · K2 · Streams
Cloudflare : K2, flux d’événements serverless en beta
Le 1.10, Cloudflare lance K2 en beta publique : un journal d’événements ordonné et durable sur la Developer Platform. Les producteurs écrivent dans un stream ; les consommateurs lisent à leur rythme via des subscriptions (partitionnement ou fan-out). Objectif : découpler producteurs et consommateurs sans cluster Kafka à opérer sur l’edge.
Sous le capot, K2 s’appuie sur R2 (object storage) : les écritures sont d’abord accumulées en mémoire sur un service edge, puis flushées en segments complets — R2 ne supportant pas les appends natifs. L’ordonnancement et les offsets s’appuient sur les opérations atomiques de R2, sans service de coordination séparé. Contrepartie annoncée : latence de produce d’environ 1 s au p99 dans cette première version (attente de batch + écriture objet). Retention configurable (jusqu’à 30 jours) ; limites beta : 10 Go de stockage, 30 Mo/s de produce par stream, comptes Workers Paid, non facturé pendant la beta.
Consommation : lease de batch (5 min), puis ack / nack / extension — livraison au moins une fois. Bindings Workers ou API HTTP. Roadmap citée : parallélisme d’écriture, clés de message, consumers push, tier Express, clients Kafka. Fil : blog Cloudflare 1.10, docs K2.
Fortinet a publié le 1.10 l’advisory FG-IR-26-175 pour CVE-2026-104286 : combinaison path traversal (CWE-22) et neutralisation incorrecte de caractère NULL (CWE-158) sur l’interface de gestion FortiMail. Impact déclaré : un attaquant non authentifié peut écrire des fichiers arbitraires via des requêtes HTTP/HTTPS conçues à cet effet. Gravité : 9.8. Découverte créditée à Gwendal Guégniaud (Fortinet Product Security). Versions touchées : 8.0.0–8.0.1, 7.6.0–7.6.6, 7.4.0–7.4.8, 7.2.0–7.2.9.
Exploitation active confirmée. Correctifs annoncés : 8.0.2+, 7.6.7+, 7.4.9+ (à venir pour certaines branches) ; branche 7.2 : migrer vers 7.4+. Contournements vendor : désactiver IBE, ou restreindre l’accès Internet à l’interface de gestion. IoC (fichiers, IP, journaux) dans l’advisory. CISA a inscrit la CVE au KEV ; échéance fédérale US : 4.10.2026. Consignes : appliquer correctif ou workaround, vérifier les IoC. Pas de PoC ni de guide d’exploitation ici.
Rust 1.99.0 : variadiques extern "C" et APIs layout
Le 1.10, l’équipe Rust publie la 1.99.0. Point fort : stabilisation de la définition de fonctions variadiques à ABI C / C-unwind (VaList, trait VaArgSafe) — Rust pouvait déjà appeler des variadiques externes ; il peut désormais les écrire. Trois APIs layout sur pointeurs bruts passent en stable : Layout::for_value_raw, size_of_val_raw, align_of_val_raw (y compris types non-Sized).
Autres stabilisations notables : Box::{into,from}_non_null, Vec::{into,from}_parts, VecDeque::retain_back, String::from_utf8_lossy_owned, std::fs::set_times / set_times_nofollow, itérateurs sur Box<[T; N]>. Documentation de Box::leak : déconseiller le « unleak » (libération ultérieure) au profit de into_non_null / into_raw, en vue des allocateurs custom. Mise à jour : rustup update stable.
Journal durable sur object storage : segments, batch et latence
L’annonce K2 (une) repose sur un choix d’architecture classique mais souvent sous-estimé : construire un log ordonné au-dessus d’un magasin d’objets qui n’append pas. Atelier sur le chemin produce, le flush par segments, et ce que paie la latence — sans guide d’attaque.
Pas d’append, donc des segments. Un object store (R2, S3…) offre une API « PUT objet entier » fortement cohérente, pas un curseur d’append byte-à-byte comme un disque local ou un commitlog Kafka. Pour simuler un journal, on accumule les records en mémoire (ou sur un tampon local court), puis on écrit un fichier-segment dès qu’un seuil de taille ou de temps est atteint. L’ordre global et les offsets croissants se négocient ensuite via des opérations atomiques du store (compare-and-swap de métadonnées, listing ordonné, objets « manifest ») — pas via un consensus Raft dédié sur chaque machine edge.
Compute éphémère, stockage durable. Sur un edge à machines petites et remplacées souvent, coller le consensus au stockage déjà répliqué (11 neufs chez R2) simplifie le plan de contrôle : le service d’ingestion peut redémarrer sans perdre le log accepté. Séparer compute et storage permet aussi de scaler l’ingestion sans rebalancer des partitions disque. Le prix : chaque flush traverse le chemin objet (RTT + sérialisation + confirmation), et le batching obligatoire pour amortir le coût fixe d’un PUT ajoute une file d’attente locale.
Latence produce ≈ file + PUT. Cloudflare annonce ≈ 1 s au p99 pour K2 v1 : somme de l’attente de batch et de l’écriture segment. Ce n’est pas un bug ; c’est le contrat d’un log « durably accepted » sur object storage. Les files de travail (Queues) ciblent un autre grain — item coûteux, retries fins, DLQ — là où un stream vise le volume, la rétention longue et le fan-out. Choisir K2 / Kafka / une queue, c’est d’abord choisir si l’on optimise le temps-à-disque du producteur ou le parallélisme de lecture et l’historique. Chiffres et limites beta : ordres de grandeur vendeur — à lire comme illustration du levier, pas comme SLA universel.
Cisco SD-WAN Manager : CVE-2026-76504, bypass auth API
Cisco corrige CVE-2026-76504 (CVSS 9.8) : mauvaise gestion de l’encodage URI dans l’auth de session API de Catalyst SD-WAN Manager — accès admin non authentifié possible, toutes configs. Exploitation active (PSIRT, sept. 2026). Correctifs : 20.9.10.1, 20.12.8.2, 20.15.6.1, 20.18.4.1, 26.1.2.1, 26.2.1 (migrer si < 20.9). Pas de workaround complet ; restreindre l’accès Internet. CISA KEV, échéance fédérale US 3.10. Pas de détail d’exploitation.
Le 1.10, Cloudflare ouvre la liste d’attente pour des déploiements fully managed de Cloudflare OS (workspace agent open source) : domaine custom, Access, AI Gateway. Nouveautés côté produit : montage d’un dépôt GitHub (explorer, patcher, commit, PR), Gatekeeper Google Workspace élargi (Gmail, Drive), exports xlsx/CSV/PDF/Markdown/HTML. Self-host depuis le dépôt reste possible.