CVE-2025-69288 json
Titra has Remote Code Execution in Admin Functionality
published 10mo ago modified last mo. also EUVD-2025-206091
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
Summary
Titra is open source project time tracking software. Prior to version 0.99.49, Titra allows any authenticated Admin user to modify the timeEntryRule in the database. The value is then passed to a NodeVM value to execute as code. Without sanitization, it leads to a Remote Code Execution. Version 0.99.49 fixes the issue.
Patch / fix
- kromit titra 0.99.49
Is CVE-2025-69288 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 10mo ago
Exploit prediction
0.85% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/kromitgmbh/titra/security/advisories/GHSA-pqgx-6wg3-gmvr referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
| NVD | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
Affected products
- kromitgmbh titra
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/kromitgmbh/titra/commit/2e2ac5cbeed47a76720b21c7fde0214a242e065e
patch
-
github.com
/kromitgmbh/titra/security/advisories/GHSA-pqgx-6wg3-gmvr
exploit, mitigation, vendor-advisory
-
github.com
/kromitgmbh/titra/releases/tag/0.99.49
release-notes
Sources
- CVE List CVE-2025-69288
- NVD CVE-2025-69288
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.