# CVE-2026-110100: Jorani missing authorization in Contracts::import()

Source: https://junglewise.ai/threats/cve-2026-110100-jorani-before-1-0-4-contains-a-missing-authorization  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-13. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-110100 · Severity: medium · CVSS 5.4 · Published 2026-10-13

Jorani is an open-source leave and human resources management system. A missing authorization check in the contract import feature allows any authenticated user to modify non-working-day calendars for any contract and trigger server-side requests to internal systems. An attacker could abuse this to alter business calendars or probe internal infrastructure.

Technologies: [Jorani](https://junglewise.ai/threats/technologies/jorani). Vendors: [Jorani](https://junglewise.ai/threats/vendors/jorani).

## Quick answers

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

**How severe is CVE-2026-110100?** Medium severity, with a CVSS score of 5.4, published 13 October 2026.

**Which products and versions are affected?** Jorani before 1.0.4.

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

**How is CVE-2026-110100 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-110100?** Check whether you run Jorani 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 1.0.4

## Technical details

The Contracts::import() function lacks authorization checks and accepts contract ID and URL parameters via POST. Any authenticated user can submit requests to overwrite non-working-day calendar data and leverage get_headers() and fopen() for server-side request forgery (SSRF) against internal hosts. The vulnerability requires prior authentication but allows horizontal privilege escalation across contracts.

## Affected products

- Jorani Jorani before 1.0.4

## Timeline

- 2026-10-13: disclosed

## References

- [https://github.com/jorani/jorani/blob/v1.0.2/application/controllers/Contracts.php](https://github.com/jorani/jorani/blob/v1.0.2/application/controllers/Contracts.php)
- [https://github.com/jorani/jorani/commit/59c403224401824489ec662934f71c90d27f614c](https://github.com/jorani/jorani/commit/59c403224401824489ec662934f71c90d27f614c)

## Related threats

- [Jorani missing authorization in HR export functions](https://junglewise.ai/threats/cve-2026-110099-jorani-before-1-0-4-contains-a-missing-authorization)
- [Jorani insecure direct object reference in leave management](https://junglewise.ai/threats/cve-2026-110098-jorani-before-1-0-4-contains-an-insecure-direct-object-reference)
