CVE-2026-80349: TarsWeb through 3.0.14 Authentication Bypass via Spoofed X-Forwarded-For and uid Parameter

Published Aug 26, 2026
·
Updated

TarsWeb decides whether a request comes from a trusted local caller using a client-controlled header. app.js sets Koa's proxy option to true without naming which upstream proxies may be trusted and without limiting the number of forwarded hops, so the request address Koa reports is taken from the X-Forwarded-For header supplied by the caller. In midware/ssoMidware.js a single branch covers both the ignored-path list and the ignoreIps allowlist from config/loginConf.js, which contains the loopback address, and that branch assigns the effective account identity from the uid query parameter before falling through to the request without validating any ticket, cookie or password. A request carrying a forged X-Forwarded-For value naming the loopback address and a uid naming an existing account therefore reaches every route the console mounts as that account, including an administrator, with no credential of any kind. Those routes include user and role administration, service configuration, and package upload and deployment. Version 3.0.16 separates the two branches so that a match on the address allowlist assigns the configured default account rather than one named by the caller.

Affected Software

1 affected component
TarsWeb TarsWeb>=3.0.0<=3.0.14

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade TarsWeb to a version that resolves this vulnerability.

    Fixed in 3.0.16Patch TarsWeb through 3.0.14 Authentication Bypass via Spoofed X-Forwarded-For and uid Parameter
  2. Configuration

    In app.js, do not set Koa's proxy option to true unless you explicitly configure which upstream proxies are trusted and limit the maximum forwarded hops; otherwise Koa will trust caller-supplied X-Forwarded-For.

    Koa (app.js) proxy = true
  3. Configuration

    Ensure TarsWeb does not treat client-controlled X-Forwarded-For as proof of a trusted local caller; trust decisions must not be based on the caller-supplied header.

    Console routes trust boundary X-Forwarded-For validation = server-validated

Event History

Aug 26, 2026
CVE Published
via MITRE·10:09 AM
Data Sourced
via MITRE·10:09 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Does exploitation require valid credentials or an authenticated session?

No. An unauthenticated remote attacker can spoof X-Forwarded-For as the loopback address and supply the uid of an existing account; no ticket, cookie, password, or other credential is validated on this path.

2

What level of access can an attacker obtain?

The attacker can impersonate any existing account named by uid, including an administrator. Accessible console functions include user and role administration, service configuration, and package upload and deployment.

3

What changed in version 3.0.16?

Version 3.0.16 separates handling of ignored paths from the IP allowlist. When the address allowlist matches, it assigns the configured default account instead of accepting an account identity supplied through uid.

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