Issue 91: Homograph OAuth bypass 🌏, common JWT mistakes, ReDos attacks

The Latest API Security News, Vulnerabilities and Best Practices
Issue: #91
Homograph OAuth bypass, common JWT mistakes, ReDos attacks
This week, we check out the recent OAuth bypass at SEMrush, common JWT implementation mistakes and the Semgrep tool, regular expression denial of service (DoS) attacks, and a new online course on OAuth2 and OpenID Connect.
Vulnerability: SEMrush
 

OAuth2 implementation can be tricky. SEMrush has fixed an OAuth redirect_uri bypass reported by Yassine Aboukir.

The problem was in how SEMrush handled international domain names (IDN). IDNs can include non-Latin characters that might look similar or even identical to Latin ones. For example, the Cyrillic е looks exactly like the English e, but it is actually a completely different character.

In the case of SEMrush, the vulnerability was that their code did not differentiate non-Latin characters from Latin ones. Instead, homographs, such as sémrush, sêmrush, sèmrûsh, or šemrush, were considered to be identical to semrush.

Thus, attackers could register a domain like oauth.šemrush.com (or oauth.xn--emrush-9jb.com) and make an OAuth call where the redirect_uri parameter was set to their domain. The system accepted this just fine and the redirect took the user to the attackers’ domain (oauth.šemrush.com), not the vendor one (oauth.semrush.com).

Be careful when you implement OAuth2: use well-established and trusted solutions, and make sure that your validation for strings is strict.

Tooling: Common JWT mistakes and the Semgrep tool
 

JSON Web Token (JWT) security has been a recurring theme in this newsletter. For example, see the JWT security videos in issue 72, or check out the JWT toolkit in issue 88. Not to abandon a good theme, this week we have a recent summary of the recurring issues with JWT.

Vasilii Ermilov from R2C has analyzed 2,000 node package manager (npm) modules for  different JWT security implementation flaws. The following is the list he compiled on the JWT mistakes that cropped up most often:

  • Hardcoded secrets
  • Allowing the none algorithm for signing
  • Incorrectly verified tokens (or no verification at all)
  • Sensitive data exposure

Ermilov provides code examples for each of these mistakes, as well as rules to catch these issues with his company’s tool, Semgrep.

Cheat sheet: Preventing regex DoS
 

Regular expressions (regex) are a common way to define string parameter patterns for API inputs. However, the regex language is extremely flexible, and can easily be abused to create expressions that require enormous amounts of memory and compute power to evaluate. Such attacks are known as Regular Expressions Denial of Service (ReDoS).

Image for post
Regular expressions are used all over the web stack, from client-side code to firewalls to back-end applications to database queries. If one of these regexes is (1) slow, and (2) processes dangerous input, then it is vulnerable to ReDoS. For example, Cloudflare’s firewall had a ReDoS issue in 2019, and Stack Overflow’s back-end had a ReDoS issue in 2016.

James Davis has put together a cheat-sheet for ReDos attacks and how to mitigate them. A good resource to check out!

Training: OAuth2 and OpenID Connect
 

OAuth2 and OpenID Connect (OIDC) continue to be misunderstood and misimplemented, which leads to API vulnerabilities.

Philippe De Ryck has made his course  “Introduction to OAuth 2.0 and OpenID Connect” available online for free (registration required).

The curriculum of the course includes:

  • OAuth2.0 and OIDC concepts
  • Using OAuth 2.0 with backend web clients
  • Introduction to OIDC
  • Mobile and native clients
  • Frontend web clients
  • Additional flows
 
dmitry_apisec-1  

Dmitry Sotnikov

APIsecurity.io

 
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 Ltd   71-75 Shelton Street  Covent Garden  London  Greater London   WC2H 9JQ   United Kingdom
You received this email because you are subscribed to API Security News from 42Crunch Ltd.

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

Older messages

Issue 90: Twitter API data security incident, skimmers and Google Analytics API 💳

Thursday, July 2, 2020

Hi, this week we have a live video on API hacking, a new API security book, and two API APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #90 Twitter API data

Issue 89: Starbucks API flaw exposes almost 100 million customer accounts ☕

Thursday, June 25, 2020

Hi, today we look at the recent API flaws at Starbucks & Drupal, BBVI APICheck tools, APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #89 Starbucks API flaw

Issue 88: JWT pentesting, API discovery, the present and future of OpenAPI 🔭

Thursday, June 18, 2020

Hi, this week we have a new JWT security toolkit, video on API discovery, new ebook and APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #88 JWT pentesting, API

Issue 87: Vulnerabilities in Digilocker, Facebook, VMware Cloud Director 🌩️

Thursday, June 11, 2020

Hi, this week we have a video on API recon and details of 3 recent API vulnerabilities APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #87 Vulnerabilities in

Issue 86: Vulnerabilities in Sign in with Apple 📱, Qatar’s COVID19 app, GitLab

Thursday, June 4, 2020

Hi, this week we look at the 3 recent API vulnerabilities and a new Burp plugin APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #86 Vulnerabilities in Sign in

You Might Also Like

📧 EF Core Migrations: A Detailed Guide

Saturday, May 18, 2024

​ EF Core Migrations: A Detailed Guide Read on: m​y website / Read time: 10 minutes BROUGHT TO YOU BY ​ Low-code Framework for .NET Devs ​ Introducing Shesha, a brand new, open-source, low-code

Slack is under attack … and you don’t want that

Friday, May 17, 2024

Plus: OpenAI is not aligned with its Superalignment team View this email online in your browser By Christine Hall Friday, May 17, 2024 Good afternoon, and welcome back to TechCrunch PM. We made it to

Ilya Sutskever leaves OpenAI - Weekly News Roundup - Issue #467

Friday, May 17, 2024

Plus: Apple is close to using ChatGPT; Microsoft builds its own LLM; China is sending a humanoid robot to space; lab-grown meat is on shelves but there is a catch; hybrid mouse/rat brains; and more! ͏

SWLW #599: Surfing through trade-offs, How to do hard things, and more.

Friday, May 17, 2024

Weekly articles & videos about people, culture and leadership: everything you need to design the org that makes the product. A weekly newsletter by Oren Ellenbogen with the best content I found

💾 There Will Never Be Another Windows XP — Why Ray Tracing is a Big Deal in Gaming

Friday, May 17, 2024

Also: What to Know About Google's Project Astra, and More! How-To Geek Logo May 17, 2024 Did You Know The very first mass-manufactured drinking straw was made of paper coated in wax; the straw was

It's the dawning of the age of AI

Friday, May 17, 2024

Plus: Musk is raging against the machine View this email online in your browser By Haje Jan Kamps Friday, May 17, 2024 Image Credits: Google Welcome to Startups Weekly — Haje's weekly recap of

Daily Coding Problem: Problem #1444 [Medium]

Friday, May 17, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Yahoo. Recall that a full binary tree is one in which each node is either a leaf node,

(Not) Sent From My iPad

Friday, May 17, 2024

The future of computing remains frustrating (Not) Sent From My iPad By MG Siegler • 17 May 2024 View in browser View in browser I tried. I really did. I tried to put together and send this newsletter

iOS Dev Weekly - Issue 661

Friday, May 17, 2024

What's the word on everyone's lips? 🅰️👁️ View on the Web Archives ISSUE 661 May 17th 2024 Comment Did you catch Google I/O this week? It's Always Interesting to see what the Android

Your Google Play recap from I/O 2024

Friday, May 17, 2024

Check out all of our latest updates and announcements Email not displaying correctly? View it online May 2024 Google Play at I/O 2024 Check out the Google Play keynote to discover the latest products