All vulnerabilities
GHSA-jm5p-837g-rv8g

Wagtail: Improper restriction handling on Page translation API endpoint

wagtailpipLibraries & packages
CVSS
6.5Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in7.0.9Also 8.0rc2, 7.3.4 and 1 moreGitHub
Published20 Aug 2026Updated 26 Oct 2026GitHub

What fixes it

  • 7.0.9wagtail, pipGitHub
  • 8.0rc2wagtail, pipGitHub
  • 7.3.4wagtail, pipGitHub
  • 7.4.3wagtail, pipGitHub
  • 7.0.9wagtail, PyPIOSVpip install "wagtail>=7.0.9"
  • 7.3.4wagtail, PyPIOSVpip install "wagtail>=7.3.4"
Show all 8 fixed versions
  • 7.4.3wagtail, PyPIOSVpip install "wagtail>=7.4.3"
  • 8.0rc2wagtail, PyPIOSVpip install "wagtail>=8.0rc2"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

A CMS user with the "submit translations" permission, could use the Admin API's "copy for translation" endpoint to copy an existing page that they do not have edit access to, allowing them to view its contents.

Patches

Patched versions have been released as Wagtail 7.0.9, 7.3.4, 7.4.3 and 8.0rc2.

Workarounds

N/A

Acknowledgements

Many thanks to tinyb0y for reporting this issue.

For more information

If you have any questions or comments about this advisory:

Text from GitHub Advisory Database

Affected versions 78

  • wagtail, pip< 7.0.9GitHub
  • wagtail, pip= 8.0rc1GitHub
  • wagtail, pip>= 7.1rc1, < 7.3.4GitHub
  • wagtail, pip>= 7.4rc1, < 7.4.3GitHub
  • wagtail, PyPIfrom first release, fixed in 7.0.9OSV
  • wagtail, PyPI0.1OSV
  • wagtail, PyPI0.2OSV
  • wagtail, PyPI0.3OSV
  • wagtail, PyPI0.3.1OSV
  • wagtail, PyPI0.4OSV
  • wagtail, PyPI0.4.1OSV
  • wagtail, PyPI0.5OSV
  • wagtail, PyPI0.6OSV
  • wagtail, PyPI0.7OSV
  • wagtail, PyPI0.8OSV
  • wagtail, PyPI0.8.1OSV
  • wagtail, PyPI0.8.10OSV
  • wagtail, PyPI0.8.2OSV
  • wagtail, PyPI0.8.3OSV
  • wagtail, PyPI0.8.4OSV
  • wagtail, PyPI0.8.5OSV
  • wagtail, PyPI0.8.6OSV
  • wagtail, PyPI0.8.7OSV
  • wagtail, PyPI0.8.8OSV
  • wagtail, PyPI0.8.9OSV
  • wagtail, PyPI1.0OSV
  • wagtail, PyPI1.0b1OSV
  • wagtail, PyPI1.0b2OSV
  • wagtail, PyPI1.0rc1OSV
  • wagtail, PyPI1.0rc2OSV
  • wagtail, PyPI1.1OSV
  • wagtail, PyPI1.10OSV
  • wagtail, PyPI1.10.1OSV
  • wagtail, PyPI1.10rc1OSV
  • wagtail, PyPI1.11OSV
  • wagtail, PyPI1.11.1OSV
  • wagtail, PyPI1.11rc1OSV
  • wagtail, PyPI1.12OSV
  • wagtail, PyPI1.12.1OSV
  • wagtail, PyPI1.12.2OSV
  • wagtail, PyPI1.12.3OSV
  • wagtail, PyPI1.12.4OSV
  • wagtail, PyPI1.12.5OSV
  • wagtail, PyPI1.12.6OSV
  • wagtail, PyPI1.12rc1OSV
  • wagtail, PyPI1.13OSV
  • wagtail, PyPI1.13.1OSV
  • wagtail, PyPI1.13.2OSV
  • wagtail, PyPI1.13.3OSV
  • wagtail, PyPI1.13.4OSV
  • wagtail, PyPI1.13rc1OSV
  • wagtail, PyPI1.1rc1OSV
  • wagtail, PyPI1.2OSV
  • wagtail, PyPI1.2rc1OSV
  • wagtail, PyPI1.3OSV
  • wagtail, PyPIfrom 7.1rc1, fixed in 7.3.4OSV
  • wagtail, PyPI7.1OSV
  • wagtail, PyPI7.1.1OSV
  • wagtail, PyPI7.1.2OSV
  • wagtail, PyPI7.1.3OSV
  • wagtail, PyPI7.1rc1OSV
  • wagtail, PyPI7.2OSV
  • wagtail, PyPI7.2.1OSV
  • wagtail, PyPI7.2.2OSV
  • wagtail, PyPI7.2.3OSV
  • wagtail, PyPI7.2rc1OSV
  • wagtail, PyPI7.3OSV
  • wagtail, PyPI7.3.1OSV
  • wagtail, PyPI7.3.2OSV
  • wagtail, PyPI7.3.3OSV
  • wagtail, PyPI7.3rc1OSV
  • wagtail, PyPIfrom 7.4rc1, fixed in 7.4.3OSV
  • wagtail, PyPI7.4OSV
  • wagtail, PyPI7.4.1OSV
  • wagtail, PyPI7.4.2OSV
  • wagtail, PyPI7.4rc1OSV
  • wagtail, PyPIfrom 8.0rc1, fixed in 8.0rc2OSV
  • wagtail, PyPI8.0rc1OSV

References 6