CWE-495: Private Data Structure Returned From A Public Method
The product has a method that is declared public, but returns a reference to a private data structure, which could then be modified in unexpected ways.
How it's found
Private Data Structure Returned From A Public Method is a specific, narrowly defined instance of a broader pattern. Testers confirm it with targeted code review and a proof-of-concept input that exercises the exact code path this weakness describes.
Consequences
- Modify Application Data: The contents of the data structure can be modified from outside the intended scope.
Mitigations
- Implementation: Declare the method private.
- Implementation: Clone the member data and keep an unmodified version of the data private to the object.
- Implementation: Use public setter methods that govern how a private member can be modified.
Where this fits in a TurboPentest engagement
TurboPentest's agentic pentest is powerful and covers a broad range of issues automatically. This particular class is best confirmed in a manual IntegSec engagement, where human pentesters apply deeper methodology and a larger context window than any automated pass.
Frequently asked questions
What is CWE-495?
The product has a method that is declared public, but returns a reference to a private data structure, which could then be modified in unexpected ways.
How do you find Private Data Structure Returned From A Public Method?
Private Data Structure Returned From A Public Method is a specific, narrowly defined instance of a broader pattern. Testers confirm it with targeted code review and a proof-of-concept input that exercises the exact code path this weakness describes.
What is the impact of CWE-495?
Modify Application Data: The contents of the data structure can be modified from outside the intended scope.
Does TurboPentest test for Private Data Structure Returned From A Public Method?
TurboPentest's agentic pentest is powerful and covers a broad range of issues automatically. This particular class is best confirmed in a manual IntegSec engagement, where human pentesters apply deeper methodology and a larger context window than any automated pass.
Related CWEs
Find these issues before an attacker does
TurboPentest runs an agentic AI pentest against your target and reports findings with proof, from $99 per target.
Start a $99 pentest