---
title: "SonicJS 3.0.0 までのコンテンツ書き込み API で、作成者・編集者が他人の文書を変更・公開・削除できる欠陥（CVE-2026-119707）: 修正は未マージのドラフト PR、リリースなし"
url: https://n-t-p.io/worldsecurity/articles/sonicjs-content-write-api-missing-authorization-acl-bypass-cve-2026-119707-3-0-0-and-earlier-fix-pr-open
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月1日
updated: 2026年11月1日
severity: 高
cve: CVE-2026-119707
---

# SonicJS 3.0.0 までのコンテンツ書き込み API で、作成者・編集者が他人の文書を変更・公開・削除できる欠陥（CVE-2026-119707）: 修正は未マージのドラフト PR、リリースなし

> **TL;DR:** ヘッドレス CMS の SonicJS 3.0.0 までは、書き込み API が役割名しか確認せず、作成者・編集者が他人の文書を変更・公開・削除できる（CVE-2026-119707、CWE-862）。CVSS v3.1 は 7.1（VulnCheck）、EPSS 0.31%、KEV なし。修正は未マージのドラフト PR で、リリースは未確認。

**要点**
- SonicJS 3.0.0 まで（@sonicjs-cms/core）が対象。/api/:collection と /api/content の書き込みが役割名だけを確認する（CWE-862）
- 認証済みの作成者・編集者が、JWT か API キーで他人の文書を作成・変更・公開・論理削除でき、文書 ACL と管理者の拒否も回避される
- CVSS v3.1 は 7.1（VulnCheck の値）。EPSS 0.31%、KEV なし、NVD は Deferred
- 修正は PR #1147（ドラフト・未マージ）。最新リリースは v3.0.0 で、修正版は未確認
- 実際の悪用と修正の最終内容は未確認。当面の対策は推定

NVD は 2026-10-30 に、オープンソースのヘッドレス CMS「SonicJS」の CVE-2026-119707 を登録しました。3.0.0 まで（npm パッケージ `@sonicjs-cms/core`）の版では、`/api/:collection` と `/api/content` の書き込み系ルートが大まかな役割名だけを確認します。認証済みの作成者（author）や編集者（editor）が、ベアラー JWT または API キーを使って、他の利用者の文書を作成・変更・公開・論理削除できます。文書ごとのアクセス制御（ACL）や、管理者が設定した拒否の上書きも回避されます。登録元（CNA）は VulnCheck です。

## 何が起きるか

- 対象は、CMS にログインできる低権限の利用者です。書き込み時に確認されるのは役割名だけで、文書の ACL や公開権限は見られていません。
- 本来は拒否されるはずの他人の文書に対して、変更・公開・削除ができます。公開済みサイトの内容を書き換えられるため、改ざんや誤情報の掲載につながると考えられます（推定）。
- 機密情報の読み取りは含まれません（CVSS の機密性影響は「なし」）。影響は主に完全性で、可用性は低い扱いです。
- 実際の悪用は確認していません。具体的なリクエストの内容は載せません。

## 修正の状況

- 修正は、公式リポジトリの PR #1147 として 2026-10-29 に起票されています。2026-11-01 時点でドラフトのまま未マージで、課題 #1125 も開いたままです。
- PR の説明では、書き込み前に文書の ACL・公開権限を確認する処理を追加し、拒否は RBAC（ロールによる許可）より優先するとしています。同じ確認を管理画面の経路にも入れる内容です。一方、GraphQL・MCP・`/admin/documents` を同じ扱いにするかは PR 内で未決の質問として残っています。
- 最新のリリースは v3.0.0（2026-10-26）で、npm の最新タグも 3.0.0 です。修正を含む版は 2026-11-01 時点で確認できません。
- 回避策は確認できていません。

## 数値と出典（2026-11-01 時点）

| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-119707（CWE-862） |
| 影響版 | SonicJS 3.0.0 まで（`@sonicjs-cms/core`） |
| 修正 | PR #1147（ドラフト・未マージ）。修正版リリースは未確認 |
| CVSS v3.1 | 7.1（High、AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L）。VulnCheck（CNA）の値 |
| CVSS v4.0 | 7.1（High）。VulnCheck（CNA）の値 |
| NVD の状態 | Deferred（NVD 自身の評価は未実施） |
| EPSS | 0.31%（パーセンタイル 23.5%、2026-10-31、FIRST） |
| KEV | 掲載なし（CISA の JSON、カタログ版 2026.10.30 で確認） |

## severity を high とした理由

CVSS は 7.1 で、ネットワーク経由・低難度で、他人の文書を変更・公開・削除できます。一方で、ログイン済みの低権限アカウントが前提で、機密性への影響はなく、EPSS は低く、KEV にも載っていません。medium との境界で、公開コンテンツの改ざんに使える点を重く見て high としました。

## 対応として考えられること

1. 利用中の SonicJS の版を確認します。3.0.0 以前の場合は、修正を含むリリースの公開を確認し、公開され次第更新します。
2. 当面は、作成者・編集者の権限を持つアカウントを必要な人に絞り、不要な API キーを失効させることが考えられます（推定。効果は確認していません）。
3. 公開済み文書の変更履歴や、作成者・編集者アカウントによる書き込みの記録を確認します。想定外の更新・公開・削除があれば調べます。
4. 管理者だけが書き込める運用にできる場合は、役割の割り当てを見直します（推定）。

## 未確認の点

- 実際の悪用は確認していません。
- 修正の内容が最終的にどうなるか（PR は未マージのドラフトで、GraphQL・MCP などの扱いが未決）と、リリース時期は確認できていません。
- 3.0.0 より前の版の影響範囲は、CVE の記載（3.0.0 まで）以上には確認できていません。
- NVD 自身の評価は未実施（Deferred）です。CVSS は VulnCheck（CNA）の値です。
- 第三者の調査記事が公開されていますが、本記事では内容を引用していません。


## 出典
- [NVD CVE-2026-119707](https://nvd.nist.gov/vuln/detail/CVE-2026-119707) — NIST NVD
- [CVE-2026-119707 CVE レコード](https://www.cve.org/CVERecord?id=CVE-2026-119707) — CVE Program
- [VulnCheck アドバイザリ](https://www.vulncheck.com/advisories/sonicjs-through-3.0.0-missing-authorization-in-content-write-api) — VulnCheck
- [課題 #1125](https://github.com/SonicJs-Org/sonicjs/issues/1125) — SonicJS（GitHub）
- [修正 PR #1147（ドラフト）](https://github.com/SonicJs-Org/sonicjs/pull/1147) — SonicJS（GitHub）
- [SonicJS リポジトリ](https://github.com/SonicJs-Org/sonicjs) — SonicJS（GitHub）
- [FIRST EPSS CVE-2026-119707](https://api.first.org/data/v1/epss?cve=CVE-2026-119707) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/sonicjs-content-write-api-missing-authorization-acl-bypass-cve-2026-119707-3-0-0-and-earlier-fix-pr-open