Description
The GutenBee – Gutenberg Blocks plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.20.1 via the gutenbee_file_and_ext_json function. This is due to a flawed strpos() substring check that only verifies whether the filename contains the string '.json' rather than confirming the filename ends with a .json extension, allowing double-extension filenames like shell.json.php to bypass validation. This makes it possible for authenticated attackers, with author-level access and above, to upload files that may be executable, which makes remote code execution possible.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
cssigniterteam GutenBee – Gutenberg Blocks
Default version status: unaffected
0 to ≤ 2.20.1affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/2d20e8c9-975d-4e8c-8bea-50935853c7d4?source=cve ↗
- https://plugins.trac.wordpress.org/browser/gutenbee/tags/2.20.1/gutenbee.php#L571 ↗
- https://plugins.trac.wordpress.org/browser/gutenbee/tags/2.20.1/gutenbee.php#L570 ↗
- https://plugins.trac.wordpress.org/browser/gutenbee/tags/2.20.1/gutenbee.php#L579 ↗
- https://plugins.trac.wordpress.org/browser/gutenbee/tags/2.20.0/gutenbee.php#L571 ↗
- https://plugins.trac.wordpress.org/browser/gutenbee/tags/2.20.0/gutenbee.php#L570 ↗
- https://plugins.trac.wordpress.org/browser/gutenbee/tags/2.20.0/gutenbee.php#L579 ↗
- https://github.com/cssigniter/gutenbee/commit/bde934cdecf67a4de1d6548cc1fc6c59bc6690e5 ↗
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3543574%40gutenbee&new=3543574%40gutenbee&sfp_email=&sfph_mail= ↗