CVE-2026-55610: InvoiceShelf has cross-company user read/update IDOR that enables cross-tenant account takeover

Published Sep 23, 2026
·
Updated

InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.4.1, in InvoiceShelf's multi-company installations, any user who is an Owner of one company can read and overwrite any user account in any other company on the same installation. GET/PUT /api/v1/users/{user} resolves the target User by global primary key, and UserPolicy checks only that the requester owns their own header-company — it never verifies that the target user belongs to that company. This allows cross-tenant disclosure of user data and full account takeover (email/password overwrite + company re-assignment). Version 2.4.1 fixes the issue.

Affected Software

1 affected component
InvoiceShelf InvoiceShelf<2.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade InvoiceShelf to a version that resolves this vulnerability.

    Fixed in 2.4.1

Event History

Sep 23, 2026
CVE Published
via MITRE·02:38 PM
Data Sourced
via MITRE·02:38 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Multi-company InvoiceShelf installations running versions before 2.4.1 are affected. A user must be an Owner of at least one company on the same installation.

2

What does an attacker need to exploit this issue?

The attacker needs an authenticated Owner account for any company in the installation and the global primary key of a target user. No user interaction is required.

3

What can an attacker do after exploiting it?

An Owner from one company can read user data from another company and overwrite the target account through the user API. This includes changing the target email and password and reassigning the account's company, enabling account takeover.

4

How can I determine whether my installation is affected?

Check whether the installation supports multiple companies and is running a version earlier than 2.4.1. Affected behavior is present when GET or PUT requests to /api/v1/users/{user} allow an Owner of one company to access or modify a user belonging to another company.

5

What should be done if immediate patching is not possible?

The provided information does not identify a workaround. Restricting access to Owner accounts and monitoring or limiting requests to /api/v1/users/{user} may reduce exposure, but the issue is fixed in version 2.4.1.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203