Intel

AIKIDO-2026-597496

rodauth is vulnerable to Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF)GHSA-hh2f-xw94-5p79 Published Yesterday

49

Medium Risk

This Affects:

RUBYrodauth
0.0.1 - 2.46.0
Fixed in 2.47.0
Are you affected? Scan for Free

TL;DR

The json feature matches request content types with a regexp that is not anchored to the start of the Content-Type header. A request can present application/json as a parameter of another content type so it is treated as a JSON request, which Rodauth exempts from CSRF checks by default on the assumption that such requests require a CORS preflight. This lets cross-origin form submissions bypass CSRF protection, and for endpoints that do not require a login it can force authentication into a chosen account. The fix anchors the default content-type regexp with the start-of-string anchor so only genuine JSON content types skip CSRF checks.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you enable the json feature while relying on the default CSRF handling without an explicit check_csrf or a properly anchored json_request_content_type_regexp.

Background info

rodauth is vulnerable to Cross-Site Request Forgery (CSRF) in versions 0.0.1 - 2.46.0.

How to fix this

Upgrade the rodauth library to the patch version.