Y2JB — PS5 YouTubeアプリを使ったユーザーランド実行

Security

概要

Y2JBは、PlayStation 5上で稼働するYouTubeアプリ(特にバージョン1.03)を対象に、ユーザーランドでのコード実行(userland code execution)を実現することを目的とした実験的リポジトリです。攻撃の前提としてPS5のファイルシステム上の特定パス(download0)へFTPで書き込みできることが必要で、そこに配置するHTMLやスクリプトを通じてアプリの挙動を誘導します。現在はベータ段階で不安定な箇所があり、汎用的な利用や配布を念頭に置いたものではありません。利用時はネットワークを切断するなど、既知の上書きや外部更新の回避策が必要です。

GitHub

リポジトリの統計情報

  • スター数: 33
  • フォーク数: 6
  • ウォッチャー数: 33
  • コミット数: 3
  • ファイル数: 4
  • メインの言語: 未指定

主な特徴

  • YouTubeアプリ(v1.03)の動作を利用したユーザーランドコード実行の実験的実装。
  • FTP経由でPS5のdownload0パスにファイルを書き込み、アプリが読み込むローカルHTMLを差し替えてコードを実行。
  • ネットワーク接続を遮断することによる外部更新・上書き防止の手順が必要。
  • ベータ段階かつ不安定であり、エンドユーザー向けの完成品ではない旨を明示。

技術的なポイント

Y2JBの核は、PS5のYouTubeアプリがローカルファイルを読み込む仕組みと、それに伴うファイルシステムの書き換え可能性を組み合わせて「ユーザーランドで任意コードを動かす」ことにあります。一般的な流れとしては、FTPでdownload0ディレクトリへアクセスし、アプリが起動時に参照するsplash.htmlや関連するリソースを差し替えることで、アプリ内のウェブビュー(Webコンポーネント)に対して任意のHTML/JavaScriptを注入します。ウェブビューが持つ機能やコンテキストを突くことで、アプリの特権より上位の完全なカーネル権限に至るかは別として、ユーザーランドレベルでのコード実行やファイル操作が可能になります。

このアプローチの技術的注目点は以下です:

  • 権限モデルの依存性:FTP(あるいはその他のファイル書き込み手段)でdownload0に書き込める環境が前提になるため、実際の攻撃面はデバイス側のアクセス制御やデバッグ機能に依存します。通常のユーザー環境ではこのパスへの書き込みは制限されていることが多いですが、特定の状況や設定によっては書き込みが可能になります。
  • ローカルHTMLの読み込み経路:アプリがローカルリソースをどのように解決・キャッシュ・検証しているかが重要です。外部ネットワーク接続があると、アプリ側がリモート資源で上書き・更新を行い、差し替えたファイルが無効化される恐れがあるため、READMEではネットワーク遮断を推奨しています。
  • 安定性とサンドボックス:ウェブビューで動作するスクリプトはアプリ側のサンドボックスに縛られるため、期待するAPIや機能が利用できない場面があること、また非同期なリソースロードやタイミング依存の問題で不安定になりやすい点が挙げられます。Beta表記が示す通り、確実に動作させるには環境依存の調整が必要です。
  • セキュリティと対策:この手法はローカルファイルの改ざんを前提にしているため、PS5側でファイルパーミッションの適切な制限、署名検証、アプリ側のローカルリソース整合性チェック(例えばハッシュや署名による検証)を導入することで防御できます。また、不要なFTPサービスの無効化や外部からのアクセス制御も有効です。

Y2JB自体は攻撃コードの教育的なサンプルとしての価値があり、PS5プラットフォームやアプリのセキュリティ評価、ローカルリソース取り扱いの脆弱性調査に役立ちます。ただし、実行には環境の深い理解と自己責任のもとでの操作が不可欠です。リポジトリは小規模で構成もシンプルですが、実際の脆弱性利用・検証はデバイスとファームウェアのバージョンに強く依存します。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • LICENSE: file
  • README.md: file
  • download0: dir

各要素の補足:

  • .github: CI設定やIssueテンプレート等が含まれる場合があるが、このリポジトリでは最小限の管理用ファイルが格納されている想定。
  • LICENSE: 使用条件・再配布条件を明記(リポジトリのライセンスを確認のこと)。
  • README.md: セットアップ手順、要求環境、注意事項(ネット切断、FTPでの書き込み等)が記載されており、ベータ段階である旨が強調されている。
  • download0: 実際にPS5上へ置く、差し替え対象のHTMLやスクリプトを模したファイル群が含まれているディレクトリ。実機での検証用資材が入る想定。

まとめ

PS5のYouTubeアプリを利用したユーザーランド実行を試す研究向けの小規模リポジトリ。実環境では注意と自己責任が必要。

リポジトリ情報:

READMEの抜粋:

Y2JB

Userland code execution using the PS5 YouTube app.

Status

Beta - Not ready for end-user use due to instability.

Requirements

  • YouTube app version 1.03 PKG
  • FTP access to the download0 path

Setup Instructions

  1. Install YouTube app version 1.03 PKG on your PS5
  2. Use FTP to access the download0 path
  3. You may need to change the permissions of the download0 path
  4. Disable internet connection to prevent splash.html from being overwritten

Important Note…