TL;DR: Broken object property level authorisation lets attackers expose hidden fields, tamper with object properties, and escalate privileges even when object-level checks exist, according to Salt. The issue shows why API governance must move from endpoint filtering to property-aware authorisation and behavioural baselining.
NHIMG editorial — based on content published by Salt: Broken Object Property Level Authorization and API abuse patterns
Questions worth separating out
Q: What breaks when API authorisation only protects the object and not its fields?
A: Attackers can still read private attributes or submit unauthorised updates if the API does not validate each property separately.
Q: Why do excessive data exposure and mass assignment create the same governance problem?
A: Both issues come from trusting the API contract too loosely.
Q: How do security teams know if API abuse controls are working?
A: Security teams know API abuse controls are working when repeated credential use drops, abnormal request volume is detected early, and hostile client behaviour is blocked before backend systems see sustained load.
Practitioner guidance
- Implement field-level allowlists for every sensitive API Define which properties each role, token, or service account may read or modify, then reject unknown or disallowed parameters at the API layer rather than relying on the client to hide them.
- Baseline normal requests per endpoint and identity Track the usual parameter sets, method usage, and response shapes for each caller so that unexpected property additions or unusual update paths surface as anomalies.
- Separate public and private properties in API design Refactor object models so that high-risk fields such as role, status, credential, and payment attributes are not returned or writable by default in shared object schemas.
What's in the full article
Salt's full article covers the operational detail this post intentionally leaves for the source:
- API response and request examples showing where excess data exposure appears in real workflows
- A step-by-step breakdown of the POST and PUT manipulation patterns used to alter hidden properties
- Specific detection and baselining ideas for spotting anomalous parameter changes per endpoint and user
- The article's practical discussion of why gateway filtering and regex-based controls are insufficient on their own
👉 Read Salt's analysis of broken object property level authorisation and API abuse →
Broken object property authorisation: are your API controls keeping up?
Explore further
Field-level authorisation is the control gap that matters here: object checks alone do not protect APIs when an attacker can still read or write hidden properties. That makes this a governance problem, not just a secure coding defect, because the real question is what each identity is permitted to see or modify inside the object. For practitioners, the lesson is to treat property-level permissions as a first-class authorisation boundary.
A question worth separating out:
Q: Which frameworks apply when APIs expose or modify sensitive properties?
A: OWASP API Security Top 10 guidance, PCI-DSS for cardholder data, and NIST-style access control principles are all relevant where field-level exposure affects regulated information. The practical test is simple: if an API field changes who can see, change, or infer sensitive data, it needs explicit governance.
👉 Read our full editorial: Broken object property authorisation exposes API data and privilege gaps