Live › vulnerability › CVE-2026-27892
FacturaScripts keeps EXIF and other embedded metadata in images uploaded to the Library module and serves them unchanged. Any authenticated user who downloads such an image can read the uploader's GPS location, device details, timestamps and comments.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-30 16:54 UTC, 0h before NVD. All times on this page are UTC.
Any FacturaScripts deployment with the Library module in use is exposed, since uploaded images are stored and served without metadata removal. Installations that do not use the Library upload feature, or that only have trusted single-user access, carry less practical risk.
| Product | Ecosystem | Affected | Fixed in |
|---|---|---|---|
| facturascripts/facturascripts | composer | < 2026 | 2026 |
composer.json or the lock file for facturascripts/facturascripts; versions below 2026 are affected.exiftool <file>; surviving GPS fields confirm the exposure.facturascripts/facturascripts fixed in 2026Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
Fectura Scripts is an open-source ERP application, a sensitive information disclosure vulnerability was identified in the Library module's image upload and download pipeline. The application fails to strip EXIF and other embedded metadata from user-uploaded image files before storing them and serving them for download. As a result, any authenticated user who downloads an image from the Library can extract the original uploader's GPS coordinates, device information, timestamps, embedded comments/notes, thumbnail previews, and other personally identifiable information (PII) preserved in the image metadata.
This vulnerability carries significant real-world impact: an employee uploading a photo taken at their home inadvertently discloses their precise home address to every user with Library download access.
Fectura Scripts exposes image upload capabilities across several modules (e.g., email composition, profile settings, etc.). During testing, the Library section was identified as the only module that provides:
Other modules (e.g., email attachments) were also tested but either did not render images or had limited upload/download exposure.
Most modern image formats (JPEG, TIFF, PNG with ancillary chunks, HEIC, WebP with XMP) embed metadata automatically at creation time. This metadata can include:
| Metadata Category | Example Fields | Privacy Risk |
|---|---|---|
| GPS / Geolocation | GPSLatitude, GPSLongitude, GPSAltitude, GPSTimestamp | Critical — reveals exact physical location |
| Device Information | Make, Model, Software, LensModel | Medium — device fingerprinting |
| Timestamps | DateTimeOriginal, CreateDate, ModifyDate | Medium — behavioral profiling |
| User Comments | UserComment, ImageDescription, XPComment, XPAuthor | High — may contain names, notes, PII |
| Thumbnails | ThumbnailImage (embedded JPEG preview) | High — may preserve original uncropped image |
| Serial Numbers | BodySerialNumber, LensSerialNumber, InternalSerialNumber | Medium — unique device tracking |
| Network/Software | HostComputer, Software, ProcessingSoftware | Low–Medium — infrastructure disclosure |
ERP platforms are used by businesses with multiple employees, contractors, clients, and sometimes external partners accessing shared resources. The Library module is inherently a collaborative, shared-access feature. Any image uploaded by one party is downloadable by many others — creating a one-to-many PII exposure vector.
exiftool (CLI), or any online EXIF viewerCreate or obtain a JPEG image with embedded GPS and descriptive metadata. You can inject test metadata using exiftool:
exiftool \
-GPSLatitude="48.8566" \
-GPSLatitudeRef="N" \
-GPSLongitude="2.3522" \
-GPSLongitudeRef="E" \
-GPSAltitude="35" \
-UserComment="Confidential: Taken at employee home address" \
-XPAuthor="John Doe" \
-Make="Apple" \
-Model="iPhone 15 Pro Max" \
-DateTimeOriginal="2025:01:15 09:30:00" \
test_image.jpg
Verify metadata is present:
exiftool test_image.jpg
Expected output should show all injected fields including GPS coordinates resolving to Paris, France (48.8566°N, 2.3522°E).
test_image.jpg file.downloaded_image.jpg.Note: For stronger proof of impact, perform this step logged in as a different user account with Library access, demonstrating cross-user information leakage.
Run exiftool on the downloaded file:
exiftool downloaded_image.jpg
Observed Result (Vulnerable):
GPS Latitude : 48 deg 51' 23.76" N
GPS Longitude : 2 deg 21' 7.92" E
GPS Altitude : 35 m
GPS Position : 48.8566°N, 2.3522°E
User Comment : Confidential: Taken at employee home address
XP Author : John Doe
Make : Apple
Model : iPhone 15 Pro Max
Date/Time Original : 2025:01:15 09::
...
Expected Result (Secure):
All EXIF, XMP, IPTC, GPS, and comment fields should be stripped or neutralized before storage or at download time. Only essential image rendering data should remain.
Take the extracted GPS coordinates and resolve them:
https://www.google.com/maps?q=48.8566,2.3522
This confirms the metadata resolves to a precise, real-world physical location — demonstrating the severity of the leak.
The application's image upload handler in the Library module stores the uploaded file byte-for-byte without any server-side processing to remove metadata. The download handler then serves the identical file. At no point in the pipeline is any of the following performed:
Intervention Image, Imagick::stripImage(), Python Pillow's .save() without EXIF, or jpegtran -copy none)This is a design-level omission rather than a bypassable control — there is simply no metadata handling logic present.
| Impact | Description | Severity |
|---|---|---|
| Geolocation Disclosure | GPS coordinates in uploaded photos can reveal home addresses, office locations, client sites, travel patterns of employees | High |
| PII Leakage | Author names, comments, device owner names embedded in metadata expose personal identity | High |
| Device Fingerprinting | Camera make/model, serial numbers, and software versions enable tracking and targeting of specific individuals or devices | Medium |
| Behavioral Profiling | Timestamps and sequential GPS data across multiple uploads can reconstruct an individu |
This page as .md · .json · in your agent: get_signal("CVE-2026-27892")
GitHub Advisory Database, CC-BY 4.0 · NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.
| Creator, Rights, Description, Keywords |
| Medium — organizational/authorship leakage |