Android 17のTelephonycoreに存在する権限昇格 脆弱性「CVE-2026-49881」について、発見者が技術詳細とPoCを公開しました。
Googleは2026年9月のAndroid Security BulletinでCVE-2026-49881をHighの権限昇格(EoP)として公開し、Android 17を影響対象に指定しています。CISA ADPによるCVSS v3.1は7.8で、攻撃ベクトルはLocal、必要権限はLow、ユーザー操作は不要です。
発見者のSupersonic氏は、権限を持たない一般アプリからAndroidのsystem_serverプロセス(UID 1000)で任意コードを実行できることをPoCで実証しています。UID 1000はAndroidの強いシステム権限を持ちますが、LinuxのrootであるUID 0とは異なります。
GoogleはAOSP側で問題となったクラス存在確認処理を削除し、2026年9月のセキュリティ更新で修正しました。9月22日時点で、実際の攻撃で悪用されたとの確認やCISA KEVへの掲載は確認できません。
CVE-2026-49881のサマリー
- GoogleはCVE-2026-49881をAndroid 17のTelephonycoreに存在するHighの権限昇格脆弱性として公開しました。
- CISA ADPのCVSS v3.1は7.8です。
- 悪意ある一般アプリから
system_server(UID 1000)で任意コードを実行できる可能性があります。 - 攻撃はローカルで、低い権限が必要ですが、追加のユーザー操作は不要と評価されています。
- 発見者は2026年4月10日にGoogleへ報告し、5月6日に確認されたとしています。
- Googleは2026年9月のAndroid Security Bulletinで修正を公開しました。
- AOSPの公式影響範囲はAndroid 17です。
- 研究者はPixelのAndroid 16 QPR3以降とAndroid 17ベータでも影響を確認していたと説明しています。
- PoCはGitHubで公開済みです。
- 研究者は、権限昇格後にOTA更新をまたいで残る永続化手法もPoCで実証したとしています。
- 9月22日時点で実悪用確認、CISA KEV掲載は確認できません。
| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-49881 |
| 対象 | Google Android |
| 公式影響バージョン | Android 17 |
| コンポーネント | Telephonycore / Telecom |
| 種別 | ローカル権限昇格 |
| CVSS v3.1 | 7.8 High |
| 攻撃ベクトル | Local |
| 必要権限 | Low |
| ユーザー操作 | 不要 |
| 到達可能な権限 | system_server(UID 1000)でのコード実行を研究者が実証 |
| PoC | 公開済み |
| 修正 | 2026年9月Android Security Bulletin |
| 実悪用 | 確認できず |
| CISA KEV | 掲載を確認できず |
Android Telecomのクラス存在確認処理で第三者コードを読み込む
問題はAndroid TelecomのInCallControllerにあったserviceClassExists処理です。
GoogleのAOSP修正コミットによると、この処理では外部アプリのコンテキストを、コードを含める設定とセキュリティチェックを無視する設定を組み合わせて作成し、その後クラスローダーを取得していました。
この結果、悪意あるアプリが独自のAppComponentFactoryを定義している場合、クラスの存在を確認するだけの処理であっても、system_server内で第三者コードが実行される可能性がありました。
Googleは修正としてserviceClassExistsと関連するメタデータ確認処理を削除し、コンポーネントの解決時に第三者コードを実行しない標準的なバインド処理へ変更しています。
一般アプリからsystem_serverで任意コード実行を実証
研究者のPoCでは、特別な管理者権限を持たないアプリから脆弱なTelecom処理を起動し、system_serverのコンテキストでコードを実行できることが示されています。
CVEレコードでも、CVE-2026-49881は「arbitrary code execution due to a logic error」と説明され、ローカル権限昇格につながるとされています。
SecurityOnlineは「root-level privileges」と表現していますが、研究者が実証しているのはUID 1000のsystem_serverです。
AndroidではUID 1000のsystemユーザーは強力な権限を持つ一方、LinuxのrootはUID 0です。したがって「root取得」と表現するより、「system_server権限でのコード実行」とする方が正確です。
PoCはOTA更新後も残る永続化を実証
研究者は、system_serverでコードを実行した後、Androidのパッケージ署名に関する状態を変更し、PoCアプリをシステム権限を持つコンポーネントとして再インストールする永続化も実証したとしています。
研究者によると、この状態は脆弱性そのものを修正するOTA更新後も残る可能性があります。
これはGoogleがCVE-2026-49881の公式影響説明として公表している内容ではなく、研究者のPoCで示された侵害後の手法です。
そのため、すでに侵害された端末については「9月パッチを適用したので既存の侵害も消える」とは限りません。PoCのような永続化が疑われる場合は、MDM/EDRのテレメトリ、アプリ署名・インストール状態、端末整合性を確認し、必要に応じて初期化や再プロビジョニングを判断します。
公式影響範囲はAndroid 17、研究者はAndroid 16 QPR3でも確認
GoogleのCVEレコードと2026年9月Android Security Bulletinでは、CVE-2026-49881の影響バージョンをAndroid 17としています。
一方、研究者は報告時点で、Pixel端末のAndroid 16 QPR3以降とAndroid 17ベータでも影響を確認していたと説明しています。その後、問題のコードがAndroid 17のAOSP安定版にも入ったとしています。
企業側で影響範囲を判断する場合は、研究者のテスト結果だけで対象OSを広げるのではなく、端末メーカーが公開するセキュリティ情報と実際のセキュリティパッチレベルを確認する必要があります。
2026年9月のAndroidセキュリティ更新で修正
CVE-2026-49881は、Android Security Bulletinの「2026-09-01 security patch level」に含まれています。
そのため、GoogleのAOSP基準では2026-09-01以降のセキュリティパッチレベルで対処されます。Android 17のTelecomはMainlineコンポーネントでもあるため、研究者はOS更新に加えてGoogle Playシステムアップデートも最新にするよう案内しています。
端末メーカーによってパッチ配信時期や実装が異なるため、Pixel以外ではメーカーのセキュリティアドバイザリも確認します。
過去のAndroidセキュリティ更新については、以下の記事でも整理しています。
関連:Google、2026年4月のAndroidセキュリティ公開情報を公表、CVE-2026-0049を修正
PoC公開済みだが実悪用は未確認
PoCと技術詳細は公開されているため、第三者が脆弱性の仕組みを検証できる状態です。
一方、9月22日時点でGoogleは実際の攻撃での悪用を公表していません。
CISA ADPのSSVCでも9月10日時点のExploitationは「none」とされ、CISA KEV Catalogへの掲載も確認できません。
したがって、現時点では「PoC公開済み」と「実悪用確認済み」を分けて扱う必要があります。
Android端末管理者が確認したいポイント
企業でAndroid端末を管理している場合は、端末のOS名称だけでなく、セキュリティパッチレベルとGoogle Playシステムアップデートを確認します。
- Android 17端末を資産台帳から抽出する
- Androidセキュリティパッチレベルが2026-09-01以降か確認する
- Google Playシステムアップデートが最新か確認する
- Pixel以外は端末メーカーのCVE-2026-49881対応状況を確認する
- MDMで古いパッチレベルの端末を可視化し、業務システムへのアクセス制御対象にできるか確認する
- Google Play以外からのアプリインストールを業務上不要な端末で制限する
- 不明なアプリや未承認APKのインストール履歴を確認する
- 侵害が疑われる端末では、パッチ適用だけでなく初期化・再登録の要否を判断する
今回の脆弱性は、遠隔から直接Android端末へ侵入するRCEではありません。端末上で低権限アプリを実行できることが前提となるため、OS更新に加えて未承認アプリの導入制御も対策になります。








