TL;DR: Access control flaws, API leakage, and XSS remained high-impact failure points in 2024 software security, with examples ranging from IDOR-style resource abuse to exposed password reset tokens and admin session hijacking, according to INTIGRITI. The practical lesson is that software security still breaks at the intersection of identity, permissions, and exposed attack surface.
At a glance
What this is: INTIGRITI’s 2024 review says software security failures kept clustering around access control, API leakage and XSS, with exploit chains that turned weak permissions and exposed data into account takeover and admin compromise.
Why it matters: For IAM, PAM and application security teams, the lesson is that identity controls fail when authorization, API design and privileged user workflows are treated as separate problems rather than one attack surface.
Context
Software security problems in modern SaaS environments often begin with weak authorization or overly revealing interfaces, then turn into account abuse or privilege compromise. When access control, API design and browser-side protections are managed as separate controls, attackers can move from one flaw to the next without needing a sophisticated exploit chain.
This article is primarily about the security debt created by rapid SaaS adoption, complex integrations and weak enforcement of least privilege across applications and workflows. The identity angle is real: access control failures, password reset token exposure and admin session hijacking all show that application security and IAM cannot be separated cleanly.
Key questions
Q: What breaks when finance applications have weak object-level authorization?
A: Attackers can change an identifier or request parameter and retrieve another user’s data, transaction history, or account details. In financial environments, that often means the application looks functional while silently exposing sensitive records. The real failure is not the input change itself, but the absence of server-side authorization on every sensitive object and transaction.
A: APIs are often the real control plane behind mobile and web applications. If requests can be replayed, modified, or hammered at high volume, attackers can enumerate users, brute-force credentials, alter parameters, and pull sensitive records. Weak API protection turns a backend dependency into an easy target for unauthorized access and downstream breach activity.
Q: What are the signs that XSS is becoming a high-severity issue?
A: XSS becomes high severity when attacker-controlled content can run inside authenticated workflows used by administrators or support staff. Signs include privileged portals that render user input, ticket systems that display HTML without strong sanitization, and browser sessions that can perform sensitive actions without re-authentication. Those conditions turn a browser bug into privilege abuse.
Q: Should security teams rely on both scanners and bug bounty?
A: Yes. Scanners provide routine coverage for known weakness classes, while bug bounty gives independent adversarial validation against novel paths and human abuse patterns. The two are complementary because they answer different questions: what is known to be exposed, and what a determined attacker can still make work.
Technical breakdown
Access control failures turn permission errors into data abuse
Insecure Direct Object Reference, or IDOR, is a classic authorization failure: the application exposes an object identifier and fails to verify whether the current user should be allowed to access it. In practice, that means a user can swap an ID in a request and reach another tenant’s record, modify configuration, or delete data. In multi-tenant software, the control failure is not authentication but authorization context. Role-based access control only works when every object-level decision is checked against the active identity, tenant and action. Practical implication: enforce server-side authorization on every sensitive object and test role and tenant boundaries directly.
Practical implication: enforce server-side authorization on every sensitive object and test role and tenant boundaries directly.
API information leakage often becomes an account takeover path
APIs are not just data pipes. They frequently expose fields that should never leave the server, such as reset tokens, internal identifiers or expanded personal data. Once an attacker can read those values, they can chain them into account recovery abuse, session theft or privilege escalation. The real issue is response shaping and trust in client-facing requests, not merely API reachability. Secure API design depends on minimal response models, strict validation and sensitive-field suppression. For identity teams, leaked tokens and overexposed account metadata are a direct governance problem because they bypass normal authentication controls. Practical implication: reduce API responses to the minimum necessary and treat reset or session material as sensitive credentials.
Practical implication: reduce API responses to the minimum necessary and treat reset or session material as sensitive credentials.
XSS becomes critical when privileged workflows trust the browser
Cross-Site Scripting happens when untrusted input is rendered or executed in a browser context, letting attacker-controlled script run in the victim’s session. That is dangerous anywhere, but especially in support consoles, admin portals and employee-facing tooling, where the browser session already carries elevated access. In those environments, XSS can hijack sessions, issue privileged actions and expose internal data without needing password compromise. Content Security Policy helps limit script execution, but it does not replace input handling and output encoding. Practical implication: harden privileged workflows first, then validate every field that can reach an administrator’s browser.
Practical implication: harden privileged workflows first, then validate every field that can reach an administrator’s browser.
Threat narrative
Attacker objective: The attacker aims to move from a small application weakness to unauthorized access, data exposure or administrative control.
- Entry begins with a low-complexity web flaw such as IDOR, an exposed API field or XSS in a user-facing workflow.
- Credential or token abuse follows when leaked reset material, session state or object references let the attacker impersonate a valid user.
- Escalation occurs when that access reaches privileged administrative or cross-tenant functions, turning a single flaw into broader compromise.
- Impact is account takeover, unauthorized data access or service disruption across the affected application estate.
Breaches seen in the wild
- United Nations breach 2021: Sakura Samurai used exposed Git credentials to reach 100,000+ UNEP staff records, then reported the flaw through the UN disclosure programme.
- Meta Muse agent hijack 2026: An undocumented Muse setting let local malware hijack Meta's personal AI agent, steal its authentication material and abuse user access.
Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Access control failures are still the most dangerous software weakness because they collapse identity and authorization into a single exploit path. IDOR-style bugs matter because they bypass the intended relationship between user, role and object. Once the application stops checking ownership or tenant boundary on the server side, least privilege becomes a paper control. Practitioners should treat object-level authorization as a core governance control, not a code-quality checkbox.
API leakage is an identity problem as much as a data problem. Reset tokens, internal IDs and over-broad response payloads turn APIs into credential distribution channels when the API is allowed to reveal more than the current action requires. That creates a hidden trust extension from the application into account recovery and session handling. The named concept here is exposed recovery surface: when recovery artifacts are reachable through normal API paths, takeover risk rises sharply. Teams should design APIs so recovery material never becomes routable.
XSS in privileged workflows shows that browser trust is still a governance gap. When an administrator consumes attacker-influenced content inside a trusted session, the browser becomes the execution layer for privilege abuse. This is especially relevant where support tools, ticketing portals or internal dashboards share authentication context with sensitive operations. The practical lesson is that session trust, not just code hygiene, must be governed across employee-facing systems.
Bug bounty programs expose the gap between test coverage and real-world abuse. Static scanners are useful, but they rarely reproduce chained failures across authorization, API exposure and browser execution. Crowdsourced testing finds the combinations that matter because researchers attack the full workflow, not a single endpoint. For software teams, that means the assurance model needs to include live exploitation paths, not just scan output.
Software security in 2024 reinforced a familiar but uncomfortable reality: identity boundaries are where application failures become business incidents. The article’s examples are not isolated bug classes. They are proof that application security, authorization governance and privileged workflow protection now need to be treated as one control domain. Teams that separate them will continue to miss the failure chain.
From our research library:
- Only 5.7% of organisations have full visibility into their service accounts, according to the Ultimate Guide to NHIs.
- Read next: Ultimate Guide to NHIs — Key Challenges and Risks
What this signals
Exposed recovery surface: software teams now need to treat password reset material, session state and object identifiers as governed assets rather than incidental response data. When those values leave the server, the application has already extended trust too far, and the next step is usually account abuse or privilege escalation.
Security programmes that separate IAM, API design and browser protection will keep missing the same chained failures. The practical shift is to test authorization, recovery and privileged workflows together, because attackers do not respect those internal boundaries.
For practitioners
- Enforce object-level authorization everywhere Check every sensitive request on the server side against the current user, tenant and action. Do not rely on UI restrictions or obscured identifiers to protect records, configuration or admin functions.
- Minimize API response payloads Return only the fields required for the current operation and suppress reset tokens, session material and internal identifiers from all client-facing responses.
- Test privileged workflows for XSS Prioritize support tools, admin consoles and employee-facing forms where injected content could execute inside an authenticated high-privilege session.
- Add adversarial testing to your assurance model Use bug bounty and targeted pentesting to look for chained failures that combine authorization gaps, exposed data and browser-side execution.
- Review cloud and SaaS permissions as one attack surface Audit roles, object access, third-party integrations and recovery paths together instead of treating application security, IAM and API review as separate processes.
Key takeaways
- The biggest software security failures in 2024 were not exotic exploits but simple control breaks in authorization, API design and browser trust.
- API leaks and XSS became serious because they let attackers chain exposed data and privileged sessions into account takeover or administrative access.
- Teams that want fewer surprises in 2025 need to test real workflow abuse, not just scan code for isolated vulnerability patterns.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP API Security Top 10 and MITRE ATT&CK address the attack and risk surface, while OWASP ASVS, NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP API Security Top 10 | API1 — Broken Object Level Authorization | The article’s access control examples center on object-level authorization failures in software and APIs. |
| Recommendation — Test every sensitive request for object-level authorization before release and after any API change. | ||
| OWASP ASVS | V8 — Authorization | RBAC and least-privilege failures are the core software control gaps discussed in the article. |
| Recommendation — Use ASVS authorization checks to verify that roles, objects and actions are enforced server side. | ||
| NIST SP 800-53 Rev 5 | AC-6 — Least Privilege | The article repeatedly points to least-privilege breakdowns across access control and admin workflows. |
| Recommendation — Apply least-privilege controls to reduce what users and services can reach by default. | ||
| MITRE ATT&CK | TA0006;TA0008 — Credential Access; Lateral Movement | Token leakage and session hijacking map directly to credential access and movement into higher-value access. |
| Recommendation — Map leaked tokens and hijacked sessions to TA0006 and TA0008 in your detection and response plans. | ||
| CIS Controls v8 | CIS-5 — Account Management | The article’s access and recovery failures show how account management gaps become breach paths. |
| Recommendation — Review account lifecycle and privileged access paths under CIS-5 to close exposure in software workflows. | ||
Key terms
- Object Level Authorization: Object level authorization controls access to individual records or resources, not just to an endpoint. It prevents users from reaching data that is technically available through a route but should remain hidden according to policy, role, or ownership. This is a key safeguard against broken access control.
- Exposed Recovery Surface: An exposed recovery surface is any account recovery path that reveals or accepts material attackers can reuse, such as reset tokens, recovery links or internal identifiers. It becomes a governance issue when those artifacts are reachable through normal application or API flows and can be chained into takeover.
- Cross-Site Scripting (XSS): A web application flaw where untrusted input is rendered in a way that causes script to execute in a user’s browser. It usually appears when output encoding, templating, or input handling is inconsistent across code paths and frameworks.
- Minimal Response Model: A minimal response model returns only the data needed for the current request and nothing more. In API security, this reduces the chance that reset tokens, internal identifiers or unnecessary personal data will leak into client-facing responses and later be reused by an attacker.
Deepen your knowledge
The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, identity lifecycle and secrets management in a way that complements broader application security and IAM work. It is useful for practitioners who need to connect identity controls to real-world access paths across software, cloud and SaaS estates.
Published by the NHIMG editorial team on August 20, 2026.
Updated on October 12, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org