Issue 141: API vulnerabilities in VeryFitPro and Gettr, AWS Lambda authorizers, AsyncAPI 2.1 🏅

The Latest API Security News, Vulnerabilities and Best Practices
Issue: #141
API vulnerabilities in VeryFitPro and Gettr, AWS Lambda authorizers, AsyncAPI 2.1
This week, we take a look at insecure API traffic in the VeryFitPro Android app, how APIs were used to scrape user profile data from Gettr, and some potential API vulnerabilities affecting AWS API Gateway and Lambda authorizers users. In addition, there is also the latest update to the AsyncAPI standard.
Vulnerability: VeryFitPro
 

Researchers from Trovent Security have found a serious API vulnerability in VeryFitPro, an Android app with more than 10 million downloads.

It turned out that the app was communicating to the backend API in the cloud over cleartext HTTP protocol.

veryfitpro_cleartext_api_call

This means that an attacker on the same network (for example, an open WiFi network) could intercept the API traffic, including calls for login or password reset. Thus, besides intercepting sensitive data, attackers could even fully take over the victim’s account.

To make things worse, the app publisher has not responded to the researchers’ report and has left the issue unaddressed.

Lessons learned:

  • It is 2021 and there is absolutely no reason for anyone to use HTTP anymore. Your APIs should only accept encrypted HTTPS communications.
  • Implement a clear vulnerability disclosure program and promptly address reported security incidents.
Vulnerability: Gettr
 

Gettr is a recently launched Twitter clone for Trump supporters. Within days after its launch, attackers found vulnerable APIs and started leaking private user data.

At least two issues have been reported:

  1. APIs behind the sign-up page returned a specific error if the supplied email address was already in use. To make things worse, there was no rate limiting in place, so attackers could run a script and iterate through a large number of email addresses to check if their owners had an account in Gettr.
  2. Apparently, there was another unsecured API that returned various profile fields, including some not shown on the  Gettr UI, like email address, location, and year of birth.

Security researcher Alan Gal found a post on a hacker forum that included data of more than 90 000 Gettr users:

Gettr_user_profile_leak

Lessons learned here:

Security research: AWS API Gateway and Lambda authorizers
 

If your APIs are behind AWS API Gateway and use Lambda authorizers for access control, read this research by Alexandre Sieira and Leonardo Viveiro.

Lambdas are serverless functions in AWS. Lambda authorizers are functions that AWS API Gateway can call to perform authorization checks:

lambda_authorizers_architecture

Lambda authorizers return JSON objects with the structure shown below. This structure has the property policyDocument that includes the address of the resource in AWS to which the authorization applies:

lambda_authorizer_response_object

The vulnerability arises when wildcards are used in the Resource path. The wildcards allow for * meaning any number of any characters. There is a huge range of possible ways that these can be interpreted. On the one hand, they can match an empty string, on the other – as many characters as they can and would not stop at separators like colons or slashes.

So you might assume that a policy like the one shown below (screenshot from the old AWS documentation) only gives access to a test environment:

AWS_vulnerable_IAM_policy_for_test_stage

But in reality, any of the following resources would be a match as well, thus giving the API caller access they should not have:

  • arn:aws:execute-api:us-west-1:12345678:myApiId/test/GET/foo/bar/
  • arn:aws:execute-api:us-west-1:12345678:myApiId/myStage/GET/foo/bar/test/hello/world
  • arn:aws:execute-api:us-west-1:12345678:myApiId/myStage/GET/foo/bar/test/
  • arn:aws:execute-api:us-west-1:12345678:myApiId/myStage/GET/test/hello/world

(Bold font used to indicate the substrings that matched the *s around /test/ in the policy.)

Read the original research for more examples of how the use of wildcards can go wrong with Lambda authorizers in AWS.

Quoting the research for recommendations:

  1. Review the use of stars in the policyDocument object. The rule of thumb is that if a star is used at all at the last part of the ARN, it should be in the form of a “/*” at the very end of the resource string (i.e.: “arn:aws:execute-api:us-west-1:12345678:myApiId/test/GET/foo/bar/*”). You can obtain the API ID, stage name and HTTP method dynamically from the input provided to the lambda authorizer. Create one resource string in the policy for each allowed HTTP method.
  2. Consider adding Deny statements that help limit the impact or scope of star expansions on the policyDocument. Remember that AWS IAM always gives precedence to Deny over Allow if multiple statements match an operation.
  3. Whenever feasible, use defense in depth and check again that the user is authorized to call an endpoint in the lambda that implements it. Don’t rely on the lambda authorizer policy as your only method of authorization unless you are sure you can do it securely.
  4. Make sure any code imported from the previous version of the lambda authorizer blueprints is updated to the latest version.
  5. If you use URL path parameters in your APIs, avoid cases where the valid values expected to be submitted to them can be chosen by potential attackers. Prefer backend-generated IDs instead of user-chosen names for entities, for example.
Standards: AsyncAPI
 

AsyncAPI is an open standard, similar to OpenAPI but for asynchronous APIs. These are useful when the API client wants to be called back when a certain event happens.

AsyncAPI Initiative just released version 2.1.0 of the specification as well as the enabling tools. The changes in the new version include:

  • Expanded message examples
  • Mercure and IBM MQ protocol bindings
  • SASL security schemes
  • Updated official AsyncAPI tools.

For more details, see release notes by Lukasz Gornicki.

 
 
Thanks for reading.

That's it for today. If you have any feedback or stories to share, simply reply to this email.

Please forward the newsletter to your friends and colleagues who might benefit from it.

 
42Crunch, Inc.   95 Third Street  2nd Floor  San Francisco  CA   94103   United States
You received this email because you are subscribed to API Security News from 42Crunch, Inc..

Update your email preferences to choose the types of emails you receive or Unsubscribe from all future emails  
 
 

Older messages

Issue 140: API vulnerabilities at LazyPay, Western Digital, and LinkedIn; IDOR mindmap 🗺️

Thursday, July 1, 2021

Hi, today we look at LinkedIn data getting scraped and WD NAS devices wiped, the recent LazyPay API flaw and an IDOR/BOLA pentesting mindmap APIsecurity.io The Latest API Security News, Vulnerabilities

Issue 139: API vulnerabilities at Apple, Amazon, and 1Sambayan, upcoming Gartner webinar

Thursday, June 24, 2021

Hi, this week we look at the details of 3 recently reported API vulnerabilities and an upcoming free webinar from Gartner APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices

Issue 138: Vulnerabilities in Microsoft Teams and Instagram

Thursday, June 17, 2021

Hi, this week in our newsletter we look at a couple of recent vulnerability reports, awesome-apisecurity repo, and upcoming DevSecCon24. APIsecurity.io The Latest API Security News, Vulnerabilities and

Issue 137: Vulnerabilities in VMware vCenter and Apache Pulsar, GraphQL and CSRF attacks

Thursday, June 10, 2021

Hi, today we look at a couple of recent API vulnerabilities, API Security in Postman, CSRF and GraphQL, my upcoming live Q&A, and a buyer's APIsecurity.io The Latest API Security News,

Issue 136: OAuth 2.0 security checklist and pentesting ✔️

Thursday, June 3, 2021

Hi, today we look at a recent API breach, a couple of pentesting case studies, and OAuth 2.0 security checklist and pentesting APIsecurity.io The Latest API Security News, Vulnerabilities and Best

You Might Also Like

Learning about Android Runtime

Thursday, April 25, 2024

View in browser 🔖 Articles Learning about Android Runtime I always enjoy reading articles that explore how something works under the hood. Here's an article that does exactly that, providing

Stripe changes its … stripes

Wednesday, April 24, 2024

TikTok on the president's docket and Nvidia acquires Run:ai View this email online in your browser By Christine Hall Wednesday, April 24, 2024 Good afternoon, and welcome to TechCrunch PM! Today

💪 You Can Use Copilot AI as a Personal Trainer — Why Your Laptop Needs a Docking Station

Wednesday, April 24, 2024

Also: Here's How to Make Your Apple ID Recoverable, and More! How-To Geek Logo April 24, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to

JSK Daily for Apr 24, 2024

Wednesday, April 24, 2024

JSK Daily for Apr 24, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JSK Weekly - 24th April, 2024 React 19 has introduced many great functionalities and

Daily Coding Problem: Problem #1422 [Hard]

Wednesday, April 24, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Airbnb. Given a list of integers, write a function that returns the largest sum of non-

Charted | Artificial Intelligence Patents, by Country 🤖

Wednesday, April 24, 2024

This visualization shows which countries have been granted the most AI patents each year, from 2012 to 2022. View Online | Subscribe Presented by: New on VC+: Our Visual Briefing on the IMF's World

Save your seat: 1Password’s 2024 Security report insights webinar

Wednesday, April 24, 2024

Join us April 25th. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Top Tech Deals 📱 LG Flex TV, Google Pixel 7, DJI Mini 3, and More

Wednesday, April 24, 2024

Get yourself a discounted DJI drone, save on the Pixel 7, or score some PC and phone accessories. How-To Geek Logo April 24, 2024 Top Tech Deals: LG Flex TV, Google Pixel 7, DJI Mini 3, and More Find

The Protest Song Wakes Up 🎙️

Wednesday, April 24, 2024

Is this song the future of musical protest? Here's a version for your browser. Hunting for the end of the long tail • April 24, 2024 The Protest Song Wakes Up A buzzy protest song about the

JSK Weekly - 24th April, 2024

Wednesday, April 24, 2024

React 19 has introduced many great functionalities and features, among which the useOptimistic hook stands out. The useOptimistic hook offers a seamless way to manage UI states during asynchronous