<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OAuth on 思いつきそうで思いつかなくていたときに</title><link>https://blog.fuga.jp/tags/oauth/</link><description>Recent content in OAuth on 思いつきそうで思いつかなくていたときに</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><copyright>Copyright(c) 2022-2025 SATO Daisuke. All rights reserved.</copyright><lastBuildDate>Wed, 30 Sep 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://blog.fuga.jp/tags/oauth/index.xml" rel="self" type="application/rss+xml"/><item><title>「入れた瞬間」に何が起きる? Flatpakの権限処理とMCPの認証抜け、手渡しの一瞬を守れるか（2026/9/30 Linux・OSSトレンド）</title><link>https://blog.fuga.jp/posts/2026-09-30-linux-oss-trend/</link><pubDate>Wed, 30 Sep 2026 00:00:00 +0900</pubDate><guid>https://blog.fuga.jp/posts/2026-09-30-linux-oss-trend/</guid><description>&lt;h2 id="はじめに"&gt;&lt;a href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" class="header-anchor"&gt;&lt;/a&gt;はじめに
&lt;/h2&gt;&lt;p&gt;インストール、認証、画面の切り替え。どれも一瞬で終わる操作ですが、その一瞬に誰へ何を手渡しているのかを取り違えると、そこが弱点になります。今日はその「手渡しの一瞬」を軸に、Flatpak と MCP の Python SDK という危ない話2本で、simdjson・GoZen・NVIDIA の前向きな話3本を挟みました。&lt;/p&gt;
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/Rt5lVKYtiZ8" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;

&lt;h2 id="1-flatpak-1184--インストール時に任意ファイルを削除上書きされる穴など6件のcveを修正"&gt;&lt;a href="#1-flatpak-1184--%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e6%99%82%e3%81%ab%e4%bb%bb%e6%84%8f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%89%8a%e9%99%a4%e4%b8%8a%e6%9b%b8%e3%81%8d%e3%81%95%e3%82%8c%e3%82%8b%e7%a9%b4%e3%81%aa%e3%81%a96%e4%bb%b6%e3%81%aecve%e3%82%92%e4%bf%ae%e6%ad%a3" class="header-anchor"&gt;&lt;/a&gt;1. Flatpak 1.18.4 — インストール時に任意ファイルを削除・上書きされる穴など、6件のCVEを修正
&lt;/h2&gt;&lt;p&gt;最初は Flatpak です。&lt;a class="link" href="https://github.com/flatpak/flatpak/releases/tag/1.18.4" target="_blank" rel="noopener"
 &gt;リリースノート&lt;/a&gt;によると、2026年9月28日に公開された 1.18.4 には、CVE-2026-97023・97024・97025・97026・97027・97029 の6件のセキュリティ修正が入っています。97028 は欠番です。&lt;/p&gt;
&lt;p&gt;動画タイトルでは「入れた瞬間にroot権限」と言いましたが、正確には少し違います。リリースノートの表現は &amp;ldquo;Prevent privileged deletion/overwrite of arbitrary files when a malicious app is installed&amp;rdquo; です。つまり &lt;strong&gt;悪意あるアプリをインストールさせると、root 権限で動く処理に任意のファイルを削除・上書きさせられる&lt;/strong&gt; という穴で、攻撃者が root シェルを取ったりコードを実行したりするものではありません。&lt;a class="link" href="https://nvd.nist.gov/vuln/detail/CVE-2026-97023" target="_blank" rel="noopener"
 &gt;NVD&lt;/a&gt; には、システム全体へのインストールでは削除・上書きが root として実行される、と書かれています。CVSS v3.1 では 97023・97024 がそろって &lt;strong&gt;7.1（High）&lt;/strong&gt; です。&lt;/p&gt;
&lt;p&gt;修正の中身は、パス名を文字列として扱うのをやめ、ファイルディスクリプタを基準にした操作（fd-relative operations）へ切り替えるものです。&lt;a class="link" href="https://github.com/flatpak/flatpak/security/advisories/GHSA-8xgq-v545-vgvf" target="_blank" rel="noopener"
 &gt;97024 のアドバイザリ&lt;/a&gt;によれば、修正コミットは &lt;code&gt;01cd7c4b&lt;/code&gt;・&lt;code&gt;cc3ab6ab&lt;/code&gt; です。97024 で狙われうるのは &lt;code&gt;passwd&lt;/code&gt;・&lt;code&gt;group&lt;/code&gt;・&lt;code&gt;machine-id&lt;/code&gt; という名前のファイルで、これらは空にされます。&lt;code&gt;resolv.conf&lt;/code&gt; という名前のファイルは &lt;code&gt;/run/host/monitor/resolv.conf&lt;/code&gt; へのシンボリックリンクに差し替えられる可能性があります。ただしアドバイザリは &amp;ldquo;It is not believed to be possible to replace these files with attacker-chosen content.&amp;rdquo; と注記しており、好きな内容を書き込めるわけではありません。&lt;/p&gt;
&lt;p&gt;残る4件は深刻度が低〜中です。97025・97026 は CVSS v4 で &lt;strong&gt;2.4（Low）&lt;/strong&gt; 、97027 は CVSS スコアが付いておらず、Low 評価のみです。97029 だけは CVSS v4 で &lt;strong&gt;5.1（Medium）&lt;/strong&gt; で、アドバイザリには &amp;ldquo;when running under GNOME Shell, the Flatpak app can terminate the shell, causing the desktop session to end&amp;rdquo; という例が書かれています。あくまで GNOME Shell での一例です。あわせて、バンドルされている &lt;code&gt;xdg-dbus-proxy&lt;/code&gt; も 0.1.9 へ更新され、CVE-2026-94422 が修正されました。&lt;/p&gt;
&lt;p&gt;前提として、この穴を突くにはまず悪意あるアプリをインストールまたはアップグレードさせる必要があります。リリースノートのワークアラウンドも &amp;ldquo;Avoid installing Flatpak apps from untrusted publishers, especially system-wide.&amp;rdquo; で、信頼できない配布元からのインストールを避けるのが対策です。この件は &lt;a class="link" href="https://github.com/NixOS/nixpkgs/issues/568123" target="_blank" rel="noopener"
 &gt;NixOS の nixpkgs でも issue #568123&lt;/a&gt; として追跡されています。対象は 1.18.4 未満を使っている環境なので、まずは &lt;code&gt;flatpak --version&lt;/code&gt; で手元を確かめておきましょう。&lt;/p&gt;
&lt;h2 id="2-simdjson-50--c26のスタティックリフレクションが正式機能に数値ファイルで最大25高速化"&gt;&lt;a href="#2-simdjson-50--c26%e3%81%ae%e3%82%b9%e3%82%bf%e3%83%86%e3%82%a3%e3%83%83%e3%82%af%e3%83%aa%e3%83%95%e3%83%ac%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%8c%e6%ad%a3%e5%bc%8f%e6%a9%9f%e8%83%bd%e3%81%ab%e6%95%b0%e5%80%a4%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%a7%e6%9c%80%e5%a4%a725%e9%ab%98%e9%80%9f%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;2. simdjson 5.0 — C++26のスタティックリフレクションが正式機能に、数値ファイルで最大25%高速化
&lt;/h2&gt;&lt;p&gt;2本目は明るい話です。&lt;a class="link" href="https://github.com/simdjson/simdjson/releases/tag/v5.0.0" target="_blank" rel="noopener"
 &gt;simdjson 5.0 のリリースノート&lt;/a&gt;（2026年9月28日公開）には &amp;ldquo;Static reflection is no longer guarded and is an officially supported feature.&amp;rdquo; とあり、C++26 のスタティックリフレクションが正式にサポートされる機能になりました。GCC 16 なら &lt;code&gt;g++ -std=c++26 -freflection&lt;/code&gt; でリフレクションを有効にして、構造体と JSON の受け渡しをコンパイラに任せられます。グルーコードを手で書かずに済むのが、いちばん大きな変化です。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rename&lt;/code&gt;・&lt;code&gt;rename_all&lt;/code&gt;・&lt;code&gt;alias&lt;/code&gt;・&lt;code&gt;skip&lt;/code&gt; といったアノテーションも追加され、フィールド名と JSON のキー名がずれていても対応できます。読みたいキーを指定する key selector 機能については、リリースノートが &amp;ldquo;simdjson builds a perfect hash function for your set of keys. At run time, recognizing a key takes a hash computed from a couple of bytes and one comparison.&amp;rdquo; と説明しています。ハッシュ計算1回と比較1回でキーを特定できる、という意味で、「コストがゼロ」というわけではありません。使い方は、公式ドキュメントの &lt;a class="link" href="https://raw.githubusercontent.com/simdjson/simdjson/master/doc/basics.md" target="_blank" rel="noopener"
 &gt;basics.md&lt;/a&gt; にある &lt;code&gt;Car c = doc.get&amp;lt;Car&amp;gt;();&lt;/code&gt; のように、テンプレート引数で型を渡す形です。&lt;/p&gt;
&lt;p&gt;性能面では、数値中心のファイル（canada・marine_ik・mesh・numbers）が8〜25%速くなりました。エスケープされた Unicode 文字を多く含む twitterescaped というファイルは、1.59 GB/s から 2.85 GB/s へ約1.8倍（リリースノートの表現では &amp;ldquo;almost twice as fast&amp;rdquo;）です。リリースノートによると、&amp;ldquo;among other changes&amp;rdquo;、つまりほかの変更と並んで、連続する &lt;code&gt;\uXXXX&lt;/code&gt; シーケンスをまとめて処理するようにしたことが効いています。シリアライズ側でも、古い数値変換アルゴリズムの Grisu2 を Dragonbox に置き換え、canada で 0.31 から 0.52 GB/s へ改善しました。計測は GCC 16.1（&lt;code&gt;-O3&lt;/code&gt;）でビルドし、Intel Xeon Gold 6548N（Emerald Rapids）で行ったもので、&lt;a class="link" href="https://lemire.me/blog/2026/09/28/simdjson-5-0-is-out/" target="_blank" rel="noopener"
 &gt;開発者 Daniel Lemire 氏のブログ&lt;/a&gt;にも同じ条件と数値が載っています。&lt;/p&gt;
&lt;p&gt;ほかにも、&lt;code&gt;[2^64, 10^20)&lt;/code&gt; の範囲の正の整数を &lt;code&gt;BIGINT_NUMBER&lt;/code&gt; として報告するようになった変更や、RFC 7464 対応、NaN/Infinity の扱い、C++20 ranges 対応、Windows でのメモリマップファイル対応が入っています。simdjson は Node.js・ClickHouse・Apache Doris などで使われているプロジェクトで、Lemire 氏はケベック大学（TELUQ）の教授です。元になった論文 &amp;ldquo;Parsing Gigabytes of JSON per Second&amp;rdquo; は学術誌 The VLDB Journal（2019年）に掲載されています。&lt;/p&gt;
&lt;h2 id="3-gozen-014--godot製の動画エディタがアルファからベータへ"&gt;&lt;a href="#3-gozen-014--godot%e8%a3%bd%e3%81%ae%e5%8b%95%e7%94%bb%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%81%8c%e3%82%a2%e3%83%ab%e3%83%95%e3%82%a1%e3%81%8b%e3%82%89%e3%83%99%e3%83%bc%e3%82%bf%e3%81%b8" class="header-anchor"&gt;&lt;/a&gt;3. GoZen 0.14 — Godot製の動画エディタがアルファからベータへ
&lt;/h2&gt;&lt;p&gt;3本目は少し肩の力を抜いて、動画編集ツールの話です。Godot エンジンと FFmpeg を組み合わせた動画編集ソフト「GoZen」が、2026年9月27日に v0.14 を公開し、アルファからベータへ進みました。&lt;a class="link" href="https://codeberg.org/gozen/gozen" target="_blank" rel="noopener"
 &gt;Codeberg のリポジトリ&lt;/a&gt;で公開されたリリースノートによると、変更規模は &amp;ldquo;264 changed files with 8 360 additions and 10 158 deletions!&amp;rdquo; で、削除行数が追加行数を上回っています。ベータ期間については &amp;ldquo;The main focus for the upcoming beta releases will be bug fixing and adding quality of life features.&amp;rdquo; とあり、今後はバグ修正と使い勝手の改善が中心になるようです。&lt;/p&gt;
&lt;p&gt;新機能としては、Glow・Scroll・Shear・Shake・Glitch の5つのエフェクトが加わり、Angle パラメータのコントロールや、プロジェクトファイルにモジュールのバージョン情報を保存する「モジュールバージョニング」も入りました。配布は Linux 向け AppImage・Windows・macOS の3系統で、本体のライセンスは GPLv3 です。動画の再生は &lt;a class="link" href="https://codeberg.org/gozen/gde_gozen" target="_blank" rel="noopener"
 &gt;gde_gozen&lt;/a&gt; という GDExtension が受け持っていて、README には &amp;ldquo;provides video playback for all kinds of video formats&amp;hellip; thanks to using the power of FFmpeg&amp;rdquo; とあります。Godot が標準で再生できる動画形式は Theora だけなので、この GDExtension のおかげで mp4 なども扱えるようになる、という位置づけです。&lt;/p&gt;
&lt;p&gt;価格は、&lt;a class="link" href="https://voylin.itch.io/gozen/devlog/1679004/version-014-beta" target="_blank" rel="noopener"
 &gt;itch.io の配布ページ&lt;/a&gt;を見ると定価16ドルが25%オフで12ドル、というセール表示でした。v1.0 に到達したら Steam 版も出す予定とのことですが、時期は書かれていません。開発の拠点は GitHub から Codeberg へ移ったようで、GitHub 側のリポジトリは1年以上更新が止まっています。ゲームエンジンの上に動画編集ツールを作るという発想がそもそも面白くて、ベータでどこまで安定するのか個人的にも気になっています。&lt;/p&gt;
&lt;h2 id="4-nvidia-display-config-server--ディスプレイを所有して貸し出す設計"&gt;&lt;a href="#4-nvidia-display-config-server--%e3%83%87%e3%82%a3%e3%82%b9%e3%83%97%e3%83%ac%e3%82%a4%e3%82%92%e6%89%80%e6%9c%89%e3%81%97%e3%81%a6%e8%b2%b8%e3%81%97%e5%87%ba%e3%81%99%e8%a8%ad%e8%a8%88" class="header-anchor"&gt;&lt;/a&gt;4. NVIDIA Display Config Server — ディスプレイを「所有して貸し出す」設計
&lt;/h2&gt;&lt;p&gt;4本目は XDC 2026（X.Org Developers Conference）からの話題です。9月28〜30日に&lt;a class="link" href="https://www.khronos.org/events/xdc-2026" target="_blank" rel="noopener"
 &gt;トロントで開催された XDC 2026&lt;/a&gt; で、NVIDIA のエンジニア Austin Shafer 氏が「Next Generation Display Walls on Linux」というセッションを行いました。&lt;a class="link" href="https://pbxscience.com/nvidia-unveils-display-config-server-to-bring-wayland-era-linux-to-professional-display-walls/" target="_blank" rel="noopener"
 &gt;pbxscience の記事&lt;/a&gt;によると、コードは NVIDIA の GitHub でオープンソースとして公開される予定ですが、記事の時点ではまだ公開されていません。&lt;/p&gt;
&lt;p&gt;テーマはディスプレイウォール、つまり複数のディスプレイを組み合わせて1つの大画面のように扱う用途です。設計の核は、サーバーがディスプレイを &amp;ldquo;own&amp;rdquo;（所有）し、それを Vulkan クライアントへ &amp;ldquo;lease&amp;rdquo;（リース）として貸し出すモデルです。各アプリが表示設定のロジックを個別に持たずに済むのが狙いです。記事は &amp;ldquo;seamless handoff between clients&amp;rdquo;、つまりクライアント間で表示をシームレスに切り替えられる点も挙げています。ちなみに Vulkan には、ウィンドウシステムを介さずに物理ディスプレイを直接扱う &lt;a class="link" href="https://github.com/KhronosGroup/Vulkan-Docs/blob/main/appendices/VK_KHR_display.adoc" target="_blank" rel="noopener"
 &gt;VK_KHR_display&lt;/a&gt; という拡張があり、仕様には &amp;ldquo;Displays are independent of any windowing system in use on the system.&amp;rdquo; と書かれています。&lt;/p&gt;
&lt;p&gt;記事によれば、要求の厳しいディスプレイウォールは今も多くが Windows 上で動いていて、Linux で使われる場合は X.Org Server と NVIDIA Mosaic の上に構築されていることが多いそうです。Display Config Server は、Mosaic が担ってきた用途を Wayland 時代に移すための設計、と見るのがよさそうです。AI 以外の分野での NVIDIA の Linux への取り組みとしても注目です。&lt;/p&gt;
&lt;h2 id="5-mcp-python-sdk--フォールバック経路で認証サーバーの確認が抜けていた"&gt;&lt;a href="#5-mcp-python-sdk--%e3%83%95%e3%82%a9%e3%83%bc%e3%83%ab%e3%83%90%e3%83%83%e3%82%af%e7%b5%8c%e8%b7%af%e3%81%a7%e8%aa%8d%e8%a8%bc%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%ae%e7%a2%ba%e8%aa%8d%e3%81%8c%e6%8a%9c%e3%81%91%e3%81%a6%e3%81%84%e3%81%9f" class="header-anchor"&gt;&lt;/a&gt;5. MCP Python SDK — フォールバック経路で認証サーバーの確認が抜けていた
&lt;/h2&gt;&lt;p&gt;最後はセキュリティの話に戻ります。MCP（Model Context Protocol）の Python SDK に見つかった脆弱性 &lt;a class="link" href="https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-qx49-fqc8-xw99" target="_blank" rel="noopener"
 &gt;GHSA-qx49-fqc8-xw99&lt;/a&gt; です。CVE 番号は割り当てられておらず、GHSA 番号だけで管理されています。発見したのはセキュリティ企業の Cycode で、&lt;a class="link" href="https://cycode.com/blog/mcp-python-sdk-oauth-account-takeover/" target="_blank" rel="noopener"
 &gt;同社のブログ&lt;/a&gt;は攻撃チェーンをエンドツーエンドで実演したとしています。&lt;/p&gt;
&lt;p&gt;影響範囲は2系統で、中身も違います。1.9.1〜1.29.1 は、どの経路でも認証サーバーの &lt;code&gt;issuer&lt;/code&gt; を検証しておらず、資格情報の紐付けもありませんでした。2.0.0〜2.1.1 は、サーバーが保護リソースのメタデータを公開していない場合（レガシーのフォールバック経路）と、403 insufficient_scope を返した場合に限って同じ穴がありました。修正版は 1.x 系が 1.30.0、2.x 系が 2.2.0 です。深刻度は High で、非対話型のプロバイダー（&lt;code&gt;ClientCredentialsOAuthProvider&lt;/code&gt;・&lt;code&gt;PrivateKeyJWTOAuthProvider&lt;/code&gt;）は CVSS &lt;strong&gt;7.5&lt;/strong&gt; です。対話型の &lt;code&gt;OAuthClientProvider&lt;/code&gt; はユーザー操作（UI:R）が要る分、 &lt;strong&gt;6.5&lt;/strong&gt; になります。CWE は CWE-345 と CWE-522 です。非推奨の 1.x 系 &lt;code&gt;RFC7523OAuthClientProvider&lt;/code&gt; も対象で、こちらは &lt;code&gt;issuer&lt;/code&gt; を指定するオプション自体がなく、アドバイザリは上の2クラスへの移行を勧めています。&lt;/p&gt;
&lt;p&gt;2.x 系の核心は、&lt;a class="link" href="https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0" target="_blank" rel="noopener"
 &gt;v2.2.0 のリリースノート&lt;/a&gt;にある &amp;ldquo;checks the authorization server&amp;rsquo;s &lt;code&gt;issuer&lt;/code&gt; on the legacy path too&amp;rdquo; という一文です。裏を返せば、これまではレガシー（フォールバック）経路だけ &lt;code&gt;issuer&lt;/code&gt; のチェックが素通りしていました。Cycode の言葉を借りれば &amp;ldquo;The check doesn&amp;rsquo;t fail. It never runs.&amp;quot;、チェックは失敗するのではなく、そもそも実行されていませんでした。動画の章タイトルの「404ひとつで」も、Cycode が説明する攻撃の起点に対応しています。攻撃者のサーバーがまず404を返し、クライアントがフォールバックして偽のログイン設定を検証なしで受け入れてしまう、という流れです。Cycode によると、これでクライアントのシークレット、認可コード、PKCE の proof key（code_verifier）までまとめて奪われ得ます。なお、本稿執筆時点で実際の悪用報告は見当たりません。&lt;/p&gt;
&lt;p&gt;対処はアップグレードだけでは終わらない点に注意が必要です。非対話型の2クラスについて、アドバイザリは &amp;ldquo;upgrading changes nothing until you also pass &lt;code&gt;issuer=&lt;/code&gt; (for example &lt;code&gt;issuer=&amp;quot;https://auth.example.com&amp;quot;&lt;/code&gt;)&amp;rdquo; と明記しています。発行者を明示的に指定して初めて対策になり、将来の 3.0 ではこの &lt;code&gt;issuer=&lt;/code&gt; が必須になる予定です。また、アップグレード後に保存済みの OAuth クライアント登録を一度クリアするよう求められています。逆に対象外なのは、stdio トランスポートを使うクライアント、SDK で作った MCP サーバー側の実装、独自にトークンやヘッダーを付けるクライアントです。HTTP 経由で OAuth クライアント機能を使っているなら、バージョンと &lt;code&gt;issuer=&lt;/code&gt; の指定の両方を確認しておきましょう。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;&lt;a href="#%e3%81%be%e3%81%a8%e3%82%81" class="header-anchor"&gt;&lt;/a&gt;まとめ
&lt;/h2&gt;&lt;p&gt;今日の5本は、「一瞬の受け渡し」に注目すると輪郭がはっきりします。Flatpak ではアプリを受け取って設置する処理で、root 権限で動く部分に任意のファイルを削除・上書きさせられました。MCP の Python SDK では、認証サーバーを確かめるはずのチェックが、フォールバック経路だけ抜けていました。どちらも普段通る経路ではなく、例外的にしか通らない経路で確認が抜けていた、というのが個人的には一番の共通点だと思います。例外経路の確認漏れは見つけにくいものです。まずは手元の Flatpak と MCP 関連ライブラリのバージョンを確認するところから始めてみてはいかがでしょうか。&lt;/p&gt;
&lt;h2 id="参考リンク"&gt;&lt;a href="#%e5%8f%82%e8%80%83%e3%83%aa%e3%83%b3%e3%82%af" class="header-anchor"&gt;&lt;/a&gt;参考リンク
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/flatpak/flatpak/releases/tag/1.18.4" target="_blank" rel="noopener"
 &gt;Flatpak 1.18.4 リリースノート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/simdjson/simdjson/releases/tag/v5.0.0" target="_blank" rel="noopener"
 &gt;simdjson 5.0.0 リリースノート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://codeberg.org/gozen/gozen" target="_blank" rel="noopener"
 &gt;GoZen（Codeberg）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pbxscience.com/nvidia-unveils-display-config-server-to-bring-wayland-era-linux-to-professional-display-walls/" target="_blank" rel="noopener"
 &gt;NVIDIA Display Config Server（pbxscience）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-qx49-fqc8-xw99" target="_blank" rel="noopener"
 &gt;MCP Python SDK Security Advisory GHSA-qx49-fqc8-xw99&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>