misskey.js's export data contains private post data
Summary
After adding private posts (followers, direct) that you do not have permission to view to your favorites or clips, you can export them to view the contents of the private posts.
PoC
- Create an account (X) for testing and an account (Y) for private posts on the same server.
- Send appropriate content from Y using "Follow"
- Send appropriate content to any user using "Nominate" from Y
- Obtain the URLs for the two posts above using Y's account.
- Query the URLs for the two posts using X and add them to your favorites or clips.
- Export your favorites or clips using X.
- Check the exported data.
Note: Verified in v2025.11.1
Impact
This could allow an attacker to view the contents of private posts. If you have pinned private posts, this could be a real problem, as the ID of the private post can be obtained by viewing the user page on the original server.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | misskey-js | >= 13.0.0-beta.16, < 2025.12.0 | 2025.12.0 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N- Weakness (CWE)
CWE-862- Platform
- npm
- Package
misskey-js- Disclosed
- 15.12.2025
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-496g-mmpw-j9x3 - CC BY 4.0
Vulnerability history: misskey-js
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 2
- First → latest
- 12.2025 12.2025
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 1
- Medium 1
Disclosures per year
- 2025: 2
- 2026: 0
-
misskey.js's export data contains private post data this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.