The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsThere is no fixed version for github.com/labstack/echo/v4.
Affected versions of this package are vulnerable to Reliance on Untrusted Inputs in a Security Decision via the (*Context).RealIP method in context.go. When Echo#IPExtractor is unset, the default RateLimiter() uses ctx.RealIP() as its client identifier, and an attacker can evade throttling by sending requests with changing X-Forwarded-For values or, when that header is absent, changing X-Real-IP values. This lets attackers make repeated requests to rate-limited endpoints, including login and password-reset endpoints; the same legacy default remains in github.com/labstack/echo/v4 for compatibility.
Notes
Workarounds
Echo#IPExtractor to echo.ExtractIPDirect() when not behind a proxy, or to echo.ExtractIPFromXFFHeader() with TrustIPRange for trusted proxies; this prevents client-supplied forwarded-IP headers from choosing the rate-limit identity.RateLimiterConfig.IdentifierExtractor to an identifier clients cannot choose; this prevents attackers from rotating spoofed IP headers to obtain fresh rate-limit buckets.