# CVE-2026-104905: FacturaScripts PHP object injection in WidgetSelect

Source: https://junglewise.ai/threats/cve-2026-104905-facturascripts-before-version-2026-7-contains-a-php-object  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-05. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-104905 · Severity: high · CVSS 8.1 · Published 2026-10-05

FacturaScripts is an open-source enterprise resource planning (ERP) system used for invoice and business management. An authenticated attacker can exploit a PHP object injection vulnerability to delete arbitrary files accessible by the web server, such as the application configuration file, resulting in denial of service and potential forced reinstallation hijack. The vulnerability requires authentication but no elevated privileges.

Technologies: [NeoRazorX FacturaScripts](https://junglewise.ai/threats/technologies/facturascripts). Vendors: [NeoRazorX](https://junglewise.ai/threats/vendors/neorazorx).

## Quick answers

**Is CVE-2026-104905 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-104905 being exploited in the wild.

**How severe is CVE-2026-104905?** High severity, with a CVSS score of 8.1, published 5 October 2026.

**Which products and versions are affected?** NeoRazorX FacturaScripts 2025.7 to 2026.6.

**Is there a fix for CVE-2026-104905?** Yes: fixed in FacturaScripts 2026.7. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-104905 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-104905?** Check whether you run NeoRazorX FacturaScripts at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in FacturaScripts 2026.7

## Technical details

WidgetSelect::processFormData() unsafely calls unserialize() on raw POST data without an allowed_classes filter when processing multiple-select form fields. An attacker can submit a serialized XLSXWriter object that triggers arbitrary file deletion via the gadget's __destruct() method, which calls unlink() on attacker-controlled file paths. The vulnerability requires an authenticated session to access an edit form containing a multiple="true" select field.

## Affected products

- NeoRazorX FacturaScripts 2025.7 to 2026.6

## Timeline

- 2026-10-05: disclosed

## References

- [https://github.com/NeoRazorX/facturascripts/releases/tag/v2026.7](https://github.com/NeoRazorX/facturascripts/releases/tag/v2026.7)
- [https://github.com/NeoRazorX/facturascripts/security/advisories/GHSA-p89j-gj6f-fh6g](https://github.com/NeoRazorX/facturascripts/security/advisories/GHSA-p89j-gj6f-fh6g)

## Related threats

- [FacturaScripts path traversal and RCE in UploadedFile move](https://junglewise.ai/threats/facturascripts-path-traversal-and-rce-in-uploadedfile-move-40e5093b)
- [FacturaScripts stored XSS in WidgetVariante and WidgetSubcuenta](https://junglewise.ai/threats/cve-2026-45710-facturascripts-stored-xss-in-widgetvariante-and-widgetsubcuenta)
- [FacturaScripts CSV formula injection in CSVExport](https://junglewise.ai/threats/cve-2026-45263-facturascripts-csv-formula-injection-in-csvexport)
- [FacturaScripts path traversal in static file controllers](https://junglewise.ai/threats/cve-2026-45693-facturascripts-path-traversal-in-static-file-controllers)
- [FacturaScripts SQL injection in REST API filter parameter](https://junglewise.ai/threats/cve-2026-45262-facturascripts-sql-injection-in-rest-api-filter-parameter)
