KacaTeknologi.com/en – In bug bounty, not every valid finding comes from a highly complex technical issue. Sometimes, a simple and seemingly harmless input can lead to a real security vulnerability.
In my case, the issue came from a single naughty string: a whitespace (” “).
That trailing whitespace led to a Content Spoofing vulnerability, allowing me to impersonate other users and perform actions that appeared to come from them.
What is Content Spoofing?
Generally speaking, Content Spoofing is a vulnerability where an attacker can inject arbitrary or misleading content to trick users into believing it is legitimate.
For example, imagine I can change my username to match another user’s identity. When I perform an action, other users may believe that the action was performed by the victim rather than me.
If the system allows this confusion, the spoofing attack is successful.
There are many types of content spoofing, but this article focuses on a simple username impersonation case.
Why Input Validation Matters in Preventing Spoofing Attacks
During my testing, I came across a target that had a field called Account Display.
This field initially appeared to have proper input validation. When I tried changing my display name from:
alqiattacker
to another user’s username:
alqivictim
The application rejected my request and displayed this validation message: “Username cannot match other users’ display names.“
This is expected behavior.
Just like on Instagram or other social platforms, you typically cannot use another person’s unique username because the application validates whether the value is already taken.
If the username already exists, the server should reject the request. This is why input validation matters: to prevent impersonation attempts.
So naturally, my next question was: Can this restriction be bypassed?
Bypassing Username Validation with a Trailing Whitespace
I initially tried several bypass techniques, including:
- Response manipulation
- Homograph attacks
Neither worked.
Then, almost by accident, I added a trailing whitespace to the end of the Account Display value.

Surprisingly, the server accepted the request.
At this point, I started asking a more important question:
What is the real impact of successfully changing my account display to another user’s identity?
To answer that, I needed to understand the application’s business logic.
The Application Has an Audit Trail
While reviewing the product documentation, I noticed the company has an audit trail feature.
Naturally, I tested whether the audit trail itself could be modified directly.
I attempted to tamper with audit log records via API requests, but those endpoints were properly protected and returned a 403 Forbidden response.
So direct modification was not possible.
However, I had another angle: If I can spoof my identity, will the audit trail record my actions as the victim or as the real attacker?
Validating the Business Impact
To test the impact, I performed several actions while using the spoofed display name:
- Uploading a file
- Updating a folder
- and many more
The results were interesting.
All actions were recorded under the victim’s displayed identity instead of the attacker’s.
In other words, although I was the one performing the actions, the audit trail visually suggested that the victim had performed them.
Why This Became a Real Security Issue
The most impactful part was how the audit trail rendered user identity.
Instead of displaying:
- clickable profile links,
- user IDs,
- or unique identifiers,
The audit trail displayed only names.
That means administrators reviewing logs had no easy way to distinguish between:
- The legitimate victim, and
- The attacker using a spoofed display name.
As a result, the application’s audit trail became functionally misleading.

The logs themselves were not modified, but the identity representation inside those logs could be manipulated.
This undermined the integrity and trustworthiness of the audit system.
From this finding, I received a $1,750 bounty with a medium severity rating. Their bounty table is quite generous, which is why this relatively simple finding resulted in a solid reward.

Timeline
Submission created
Submission triaged
Asking for an update
Submission rewarded
Submission resolved
Final Thoughts
This finding is a great reminder that security issues do not always come from advanced exploitation techniques.
Sometimes, a single overlooked character, such as trailing whitespace, can have a meaningful business impact when combined with weak normalization and identity display logic.
Proper input validation should not only check for exact string equality, but also normalize values by trimming whitespace and handling equivalent representations consistently.
A tiny input issue may seem harmless, but in the wrong business context, it can become a serious security vulnerability.

