Description
Akaunting's shared download route (app/Http/Controllers/Common/Uploads.php::download, reachable at uploads/{id}/download behind only generic auth middleware) fetched the requested Media record by ID with no verification that it belonged to the requesting portal customer's own company, allowing any authenticated portal customer to download any other company's uploaded files by guessing or enumerating media IDs.
Published: 2026-08-05
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Akaunting’s shared download route, located at uploads/{id}/download and protected only by generic authentication middleware, retrieves a media record solely by the supplied ID and does not verify that the record belongs to the requesting portal customer’s company. An authenticated customer can therefore specify any media ID, causing the server to serve files from other companies. This leads directly to a confidentiality breach, as private company documents can be exposed without any additional privileges, and is an example of an Insecure Direct Object Reference (CWE‑639).

Affected Systems

The vulnerability impacts the Akaunting application, as identified by the CNA. No specific version ranges are provided, meaning any installation that includes the download endpoint is susceptible until a fix is applied.

Risk and Exploitability

With a CVSS score of 6.5 the flaw is moderate in severity, while the EPSS score of less than 1% indicates a very low likelihood of exploitation. The flaw is not listed in the CISA KEV catalog. An attacker must simply be an authenticated portal user; no elevated rights or remote code execution are required. Once authenticated, the attacker can enumerate or guess media IDs to download files belonging to other companies, making the exploit straightforward but confined to authenticated sessions.

Generated by OpenCVE AI on August 10, 2026 at 22:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Implement an ownership check in the download endpoint to verify that the authenticated user’s company matches the media record’s owner before serving the file.
  • Apply any available Akaunting update that fixes this IDOR when a patch is released.
  • Deploy monitoring and rate‑limiting on the download route to detect and throttle suspicious enumeration attempts.

Generated by OpenCVE AI on August 10, 2026 at 22:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Mon, 10 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Description Akaunting's shared download route (app/Http/Controllers/Common/Uploads.php::download(), reachable at uploads/{id}/download behind only generic auth middleware) fetched the requested Media record by ID with no verification that it belonged to the requesting portal customer's own company, allowing any authenticated portal customer to download any other company's uploaded files by guessing or enumerating media IDs. Fixed in commit 80ef6d3 (2026-07-12), which added an explicit ownership check comparing the media's parent record contact_id against the requesting user's own contact. Akaunting's shared download route (app/Http/Controllers/Common/Uploads.php::download, reachable at uploads/{id}/download behind only generic auth middleware) fetched the requested Media record by ID with no verification that it belonged to the requesting portal customer's own company, allowing any authenticated portal customer to download any other company's uploaded files by guessing or enumerating media IDs.

Mon, 10 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Title Akaunting: Cross-Company Media IDOR in Customer Portal Download Endpoint Akaunting - Cross-Company Media IDOR in Customer Portal Download Endpoint

Wed, 05 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
First Time appeared Akaunting
Akaunting akaunting
Vendors & Products Akaunting
Akaunting akaunting

Wed, 05 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Description Akaunting's shared download route (app/Http/Controllers/Common/Uploads.php::download(), reachable at uploads/{id}/download behind only generic auth middleware) fetched the requested Media record by ID with no verification that it belonged to the requesting portal customer's own company, allowing any authenticated portal customer to download any other company's uploaded files by guessing or enumerating media IDs. Fixed in commit 80ef6d3 (2026-07-12), which added an explicit ownership check comparing the media's parent record contact_id against the requesting user's own contact.
Title Akaunting: Cross-Company Media IDOR in Customer Portal Download Endpoint
Weaknesses CWE-639
References
Metrics cvssV3_1

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


Subscriptions

Akaunting Akaunting
cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-10T11:46:09.873Z

Reserved: 2026-08-05T10:53:53.177Z

Link: CVE-2026-71251

cve-icon Vulnrichment

Updated: 2026-08-05T12:40:27.740Z

cve-icon NVD

Status : Deferred

Published: 2026-08-05T11:16:28.230

Modified: 2026-08-26T17:13:24.800

Link: CVE-2026-71251

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T22:30:06Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key