Executive Summary

During the engagement, a total of 3 findings were identified against https://api.acmepay.example: 1 high, 1 medium and 1 low.

The most significant issue is Broken Object Level Authorization on /v1/transactions/{id} (High, CVSS 8.1), which should be remediated as a priority.

The overall risk is assessed as High. Remediation of the high-severity findings should be scheduled promptly.

Detailed technical findings, evidence, and remediation guidance are provided in the following sections. All testing was performed with appropriate authorization.

Severity Breakdown

SeverityCountCVSS Range
Critical09.0 – 10.0
High17.0 – 8.9
Medium14.0 – 6.9
Low10.1 – 3.9
Info00.0

Scope & Methodology

In-Scope

Out of Scope

Testing Checklist

StepStatus
API discovery & inventory (versions, endpoints, shadow APIs)Complete
Authentication testing (tokens, sessions, MFA, OAuth flows)Complete
Authorization testing (BOLA / IDOR across roles)Complete
Object property level authorization (mass assignment)Complete
Function level authorization (admin vs user routes)Complete
Input validation & injection (SQLi, NoSQLi, XSS, SSTI, SSRF)Complete
Rate limiting & resource consumption testingComplete
Business flow / abuse-case testingComplete
JWT & token security (alg confusion, weak secrets, expiry)Pending
GraphQL / gRPC / WebSocket specific testingPending
Security misconfiguration (CORS, headers, error handling)Pending
Retesting of confirmed findingsPending

Findings Summary

IDTitleSeverityCVSSStatus
F-001Broken Object Level Authorization on /v1/transactions/{id}High8.1open
F-002Unrestricted resource consumption on /v2/ledgerMedium7.5open
F-003Verbose error disclosure leaks stack tracesLow5.3open

Detailed Findings

F-001 — Broken Object Level Authorization on /v1/transactions/{id} High

Category: API1:2023 — Broken Object Level Authorization (BOLA)CVSS: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:NStatus: open

Affected Endpoint

/v1/transactions/{id}

HTTP Method

GET

Parameter / Body field

id

Auth Required?

JWT

Description

Transaction endpoint returns full transaction data for any ID regardless of the authenticated user's ownership of the record.

Evidence / Proof of Concept

GET /v1/transactions/884211 with a token for user 501 returned user 502's transaction with card PAN.

Impact

Complete transaction and PII disclosure across the customer base.

Remediation

Validate object ownership on every object-level read/write; use opaque identifiers.

References

  • https://owasp.org/API-Security/editions/2023/en/0xa1-broken-object-level-authorization/

F-002 — Unrestricted resource consumption on /v2/ledger Medium

Category: API4:2023 — Unrestricted Resource ConsumptionCVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HStatus: open

Affected Endpoint

/v2/ledger

HTTP Method

GET

Parameter / Body field

page_size

Auth Required?

no

Description

Ledger endpoint honors page_size up to 100000 with no rate limiting, enabling resource exhaustion and inflated cloud costs.

Evidence / Proof of Concept

page_size=100000 returned in 14s; 50 concurrent requests saturated the pod.

Impact

Denial of service for all API consumers and elevated infrastructure costs.

Remediation

Cap pagination, enforce per-client rate limits and payload quotas.

F-003 — Verbose error disclosure leaks stack traces Low

Category: API8:2023 — Security MisconfigurationCVSS: 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NStatus: open

Affected Endpoint

/v1/login

HTTP Method

POST

Parameter / Body field

body

Auth Required?

no

Description

Malformed JSON requests return 500 responses containing full Django debug tracebacks with internal paths and dependency versions.

Evidence / Proof of Concept

POST /v1/login with invalid body returned <pre>traceback…django/core/handlers…</pre>

Impact

Information disclosure that aids reconnaissance and version-based attacks.

Remediation

Return generic errors in production; log details server-side only.

Conclusion & Recommendations

The engagement identified 3 finding(s). Findings should be tracked to closure with defined owners and target dates. High and critical findings should be remediated before the application is exposed to untrusted users.