CVE-2026-63669 ApostropheCMS: Missing destination-parent authorization in page `move()` allows a low-privileged editor to move and re-rank pages inside a restricted subtree
Low-privileged editors can move pages into restricted areas and re-rank protected siblings due to missing authorization checks in the page move operation.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-63669?
CVE-2026-63669 is a medium-severity missing authorization vulnerability in apostrophecms apostrophe, published on 17 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
ApostropheCMS is an open-source Node.js content management system. Prior to 4.32.0, the page module's move() operation fails to enforce the destination parent's _create permission because its oldParent archive condition disables the check for ordinary moves, allowing an authenticated editor or contributor to use _targetId and _position through the page REST update endpoint to move a controlled page into a restricted subtree and make nudgeNewPeers() updateMany re-rank protected sibling pages. This issue is fixed in version 4.32.0.
Which versions are affected by CVE-2026-63669?
2 open source packages ship an affected version, including apostrophe.
| Package | Affected | Fixed in |
|---|---|---|
apostrophe npm | All versions | 4.32.0 |
apostrophe npm | All versions | 4.32.0 |
How do I fix CVE-2026-63669?
Upgrade apostrophe to 4.32.0 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-63669 being exploited?
There is no known exploitation of CVE-2026-63669 in the wild and no public exploit code.
Sources
Also known as GHSA-wr5r-wqp2-x4fh.