Description
Jorani before 1.0.4 contains a missing authorization vulnerability in Contracts::import() that allows any authenticated user to import days off into any contract from an arbitrary URL. Attackers can submit a contract id and URL via POST to overwrite non-working-day calendars and abuse get_headers() and fopen() for server-side request forgery against internal hosts.
Published: 2026-10-13
Score: 5.3 Medium
EPSS: n/a
KEV: No
Impact: Unauthorized modification of contract calendars and server-side request forgery for internal hosts
Action: Assess Impact
AI Analysis

Impact

Jorani versions prior to 1.0.4 allow any authenticated user to call a contract import function with a supplied contract ID and URL. This missing authorization lets the attacker overwrite non-working-day calendars for any contract and use PHP’s get_headers and fopen functions to request arbitrary internal URLs, enabling server‑side request forgery and potentially internal network discovery or data exfiltration. The weakness corresponds to CWE‑862, Missing Authorization.

Affected Systems

The vulnerability exists in the Jorani web application for all releases before 1.0.4. Authenticated users with any valid session against the application can trigger the exploit, regardless of the operating system on which Jorani is running.

Risk and Exploitability

The CVSS score of 5.3 indicates a medium risk. No EPSS value is currently available, and the vulnerability is not listed in CISA’s KEV catalog, suggesting it is not widely exploited yet. Attackers would need to be authenticated to Jorani, but once logged in, they can craft a POST request to the import endpoint, supply any contract ID, and provide a URL to trigger the SSRF. The ability to contact internal hosts may lead to further exploitation if internal services respond in a meaningful way. Overall, the exploitability is high for authenticated users, but the damage is limited to calendar data and SSRF reach unless further internal vulnerabilities are present.

Generated by OpenCVE AI on October 13, 2026 at 19:15 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Jorani version 1.0.4 or later, where the missing authorization is patched.
  • If an upgrade is not immediately possible, restrict access to the Contracts::import endpoint by enforcing administrator privileges or by modifying the access control logic to block non‑admin users.
  • Configure network segmentation or firewall rules to block outbound requests from the Jorani application to internal network resources, thereby limiting the impact of any remaining SSRF functionality.

Generated by OpenCVE AI on October 13, 2026 at 19:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Description Jorani before 1.0.4 contains a missing authorization vulnerability in Contracts::import() that allows any authenticated user to import days off into any contract from an arbitrary URL. Attackers can submit a contract id and URL via POST to overwrite non-working-day calendars and abuse get_headers() and fopen() for server-side request forgery against internal hosts.
Title Jorani before 1.0.4 Missing Authorization and SSRF via Contracts::import()
First Time appeared Jorani
Jorani jorani
Weaknesses CWE-862
CPEs cpe:2.3:a:jorani:jorani:*:*:*:*:*:*:*:*
Vendors & Products Jorani
Jorani jorani
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'}

cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-13T16:53:04.371Z

Reserved: 2026-10-13T16:22:07.617Z

Link: CVE-2026-110100

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-13T17:17:33.693

Modified: 2026-10-13T17:17:33.693

Link: CVE-2026-110100

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-13T19:15:08Z

Weaknesses