Home Cyber Security News Steam Wallet API Vulnerability Discovered – Allowed For Addition of Unlimited Funds

Steam Wallet API Vulnerability Discovered – Allowed For Addition of Unlimited Funds

by Abeerah Hashim
Steam Wallet API vulnerability

Valve has recently addressed a serious API vulnerability that could allow an adversary to add potentially unlimited funds to their Steam wallet. This could further allow unauthorized conversion of funds to real money as well as meddling with the Steam market.

Steam Wallet API Vulnerability

Reportedly, a security researcher with the alias DrBrix found a severe security flaw affecting Steam market that lead to further issues.

Specifically, the vulnerability existed in the Steam API that Valve used to communicate with the Smart2Pay payment method.

As elaborated in a bug report, exploiting the vulnerability would allow an adversary to add unlimited funds to said Steam wallet. All it took for the attacker was to intercept the communication between the two platforms. Then, altering the user’s email address to add a new “amount” field would allow fetching of a larger amount when making payments.

According to the researcher’s PoC, paying $1 only would allow adding more money to Steam funds simply by adding a numerical value and the word “amount” to the email address.

Firstly you will have to change yours steam account email to something like (I will explain why in next steps, amount100 is the important part): [email protected]█████
Then go to https://store.steampowered.com/steamaccount/addfunds and click add add funds.
Proceed to payment and select any payment which uses Smart2Pay payment method (przelewy24 in my country).
Click next steps as you would do with normal transaction…
Then we can change email from CustomerEmail=brixamount100abc%40████ to CustomerEmail=brix&amount=100&ab=c%40█████████ by this we are adding new field amount with our value.
Then just pay 1 $ and you should get your money on steam wallet in few hours/days

Patch Deployed

Upon discovering the bug, DrBrix reported it to Valve via their HackerOne bug bounty program.

Soon after, the vendors could reproduce the bug and started working on a fix that they eventually deployed.

The team marked this bug as a critical severity issue and were awarded a $7500 bounty to DrBrix for reporting it.

You may also like

Latest Hacking News

Privacy Preference Center


The __cfduid cookie is used to identify individual clients behind a shared IP address and apply security settings on a per-client basis.

cookie_notice_accepted and gdpr[allowed_cookies] are used to identify the choices made from the user regarding cookie consent.

For example, if a visitor is in a coffee shop where there may be several infected machines, but the specific visitor's machine is trusted (for example, because they completed a challenge within your Challenge Passage period), the cookie allows Cloudflare to identify that client and not challenge them again. It does not correspond to any user ID in your web application, and does not store any personally identifiable information.

__cfduid, cookie_notice_accepted, gdpr[allowed_cookies]


DoubleClick by Google refers to the DoubleClick Digital Marketing platform which is a separate division within Google. This is Google’s most advanced advertising tools set, which includes five interconnected platform components.

DoubleClick Campaign Manager: the ad-serving platform, called an Ad Server, that delivers ads to your customers and measures all online advertising, even across screens and channels.

DoubleClick Bid Manager – the programmatic bidding platform for bidding on high-quality ad inventory from more than 47 ad marketplaces including Google Display Network.

DoubleClick Ad Exchange: the world’s largest ad marketplace for purchasing display, video, mobile, Search and even Facebook inventory.

DoubleClick Search: is more powerful than AdWords and used for purchasing search ads across Google, Yahoo, and Bing.

DoubleClick Creative Solutions: for designing, delivering and measuring rich media (video) ads, interactive and expandable ads.



The _ga is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners.

The _gat global object is used to create and retrieve tracker objects, from which all other methods are invoked. Therefore the methods in this list should be run only off a tracker object created using the _gat global variable. All other methods should be called using the _gaq global object for asynchronous tracking.

_gid works as a user navigates between web pages, they can use the gtag.js tagging library to record information about the page the user has seen (for example, the page's URL) in Google Analytics. The gtag.js tagging library uses HTTP Cookies to "remember" the user's previous interactions with the web pages.

_ga, _gat, _gid