Portabilis i-Diario 1.5.0 justificativas-de-falta Endpoint doc_uploader.rb Anexo cross site scripting
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 4.0 | $0-$5k | 3.58 |
Summary
A vulnerability identified as problematic has been detected in Portabilis i-Diario 1.5.0. The impacted element is an unknown function of the file app/uploaders/doc_uploader.rb of the component justificativas-de-falta Endpoint. Performing a manipulation of the argument Anexo results in cross site scripting. This vulnerability was named CVE-2025-7870. The attack may be initiated remotely. In addition, an exploit is available. It is recommended to apply a patch to fix this issue. The vendor confirms: "The attachment uploader now rejects files whose declared content type indicates executable or markup content".
Details
A vulnerability, which was classified as problematic, was found in Portabilis i-Diario 1.5.0 (Learning Management Software). This affects some unknown functionality of the file app/uploaders/doc_uploader.rb of the component justificativas-de-falta Endpoint. The manipulation of the argument Anexo with an unknown input leads to a cross site scripting vulnerability. CWE is classifying the issue as CWE-79. The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. This is going to have an impact on integrity.
The bug was discovered 07/02/2025. The weakness was presented by Natan Morette (@nmmorette) with CVE-Hunters as confirmed advisory via GitHub. It is possible to read the advisory at github.com. This vulnerability is uniquely identified as CVE-2025-7870. The exploitability is told to be easy. It is possible to initiate the attack remotely. It demands that the victim is doing some kind of user interaction. Technical details and a public exploit are known. The attack technique deployed by this issue is T1059.007 according to MITRE ATT&CK.
A public exploit has been developed by Natan Morette (@nmmorette). The exploit is shared for download at github.com. It is declared as proof-of-concept. The vulnerability was handled as a non-public zero-day exploit for at least 17 days. During that time the estimated underground price was around . The vendor confirms: "The attachment uploader now rejects files whose declared content type indicates executable or markup content".
Applying the patch 6c529bb2d96130aa29533f49e204e86518e11fdd is able to eliminate this problem. The bugfix is ready for download at github.com.
The vulnerability is also documented in the vulnerability database at EUVD (EUVD-2025-21994). Be aware that VulDB is the high quality source for vulnerability data.
Product
Type
Vendor
Name
Version
License
Website
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CNA CVSS-B Score: 🔍
CNA CVSS-BT Score: 🔍
CNA Vector: 🔍
CVSSv3
VulDB Meta Base Score: 4.1VulDB Meta Temp Score: 4.0
VulDB Base Score: 3.5
VulDB Temp Score: 3.2
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 5.4
NVD Vector: 🔍
CNA Base Score: 3.5
CNA Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: Cross site scriptingCWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Natan Morette (@nmmorette)
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
0-Day Time: 🔍
Patch: 6c529bb2d96130aa29533f49e204e86518e11fdd
Timeline
07/02/2025 🔍07/19/2025 🔍
07/19/2025 🔍
10/09/2026 🔍
Sources
Product: github.comAdvisory: github.com
Researcher: Natan Morette (@nmmorette)
Organization: CVE-Hunters
Status: Confirmed
CVE: CVE-2025-7870 (🔍)
GCVE (CVE): GCVE-0-2025-7870
GCVE (VulDB): GCVE-100-316983
EUVD: 🔍
scip Labs: https://www.scip.ch/en/?labs.20161013
Entry
Created: 07/19/2025 07:58Updated: 10/09/2026 18:43
Changes: 07/19/2025 07:58 (56), 07/19/2025 15:43 (16), 07/20/2025 09:37 (1), 07/20/2025 11:29 (30), 09/04/2025 18:00 (12), 10/09/2026 18:43 (11)
Complete: 🔍
Submitter: nmmorette
Committer: nmmorette
Cache ID: 216::103
Submit
Accepted
- Submit #607947: Portabilis i-diario 1.5.0 Cross Site Scripting (by nmmorette)
Be aware that VulDB is the high quality source for vulnerability data.
This stored XSS via SVG upload has been fixed in i-Diário.
The attachment uploader now rejects files whose declared content type indicates executable or markup content: image/svg+xml, text/html and application/xhtml+xml are rejected. In addition, the ".svg" extension is not part of the allowed-extension list, so SVG files are blocked regardless of the declared content type. All responses are served with the HTTP header "X-Content-Type-Options: nosniff".
As a result, a crafted SVG file containing embedded JavaScript can no longer be uploaded, nor served in a way that would execute script in the victim's browser.
The fix is available in the project's public repository, in commit https://github.com/portabilis/i-diario/commit/6c529bb2d96130aa29533f49e204e86518e11fdd
Recommended action: update to a current release of i-Diário.
Might our Artificial Intelligence support you?
Check our Alexa App!