Skip to content

Remote Code Execution Through Image Uploads

High
ssddanbrown published GHSA-g9rq-x4fj-f5hx Mar 8, 2020

Package

BookStack

Affected versions

< 0.25.5

Patched versions

0.25.3, 0.25.4, 0.25.5

Description

Impact

A user could upload PHP files through image upload functions, which would allow them to execute code on the host system remotely. They would then have the permissions of the PHP process.

This most impacts scenarios where non-trusted users are given permission to upload images in any area of the application.

Patches

The issue was addressed in a series of patches: v0.25.3, v0.25.4 & v0.25.5.
Users should upgrade to at least v0.25.5 to avoid this patch but ideally the latest BookStack version as previous versions are un-supported.

Workarounds

Depending on BookStack version, you could use the local_secure image storage option, or use s3 or a similar compatible service.

Preventing direct execution of any php files, apart from the public/index.php file, though web-server configuration would also prevent this.

References

BookStack Beta v0.25.3
BookStack Beta v0.25.4
BookStack Beta v0.25.5

Attribution

  • Thanks to inc0x0 for originally discovering and reporting this vulnerability.
  • Thanks to Thiago Mayllart for discovering & reporting more ways to exploit this vulnerability & advising the creation of a CVE for this issue.

For more information

If you have any questions or comments about this advisory:

Severity

High

CVE ID

CVE-2020-5256

Weaknesses

No CWEs

Credits