Read the docs
TI-2009-03130 Aliases CVE-2009-3287GHSA-j24p-r6wx-r79w

lib/thin/connection.rb in Thin web server before 1.2.4 relies on the X-Forwarded-For…

Priority LOW 36CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
— Not recorded in CVSS 2.0
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Partial · Partial · Partial
Fix status
Fixed

Attack profile from CVSS 2.0 · NVD. Fix status from CNA and GitHub.

Summary

lib/thin/connection.rb in Thin web server before 1.2.4 relies on the X-Forwarded-For header to determine the IP address of the client, which allows remote attackers to spoof the IP address and hide activities via a modified X-Forwarded-For header.

Why it matters now

EPSS 0.01382 72nd percentileScored 2026-11-07
Fix Fixed thin (RubyGems): 1.2.4

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
——all versions—No fix listedCNA
—thin (RubyGems)before 1.2.41.2.4Patch availableGHSA-j24p-r6wx-r79w
  • — Vendor— Affected all versions Fixed in — No fix listed CNA
  • thin (RubyGems) Vendor— Affected before 1.2.4 Fixed in 1.2.4 Patch available GHSA-j24p-r6wx-r79w

CPE configurations NVD · 21

CPEVersionsRoleVendor
cpe:2.3:a:macournoyer:thin:*:*:*:*:*:*:*:*up to 1.2.2VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.4.0:*:*:*:*:*:*:*0.4.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.4.1:*:*:*:*:*:*:*0.4.1VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.5.0:*:*:*:*:*:*:*0.5.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.5.1:*:*:*:*:*:*:*0.5.1VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.5.2:*:*:*:*:*:*:*0.5.2VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.5.3:*:*:*:*:*:*:*0.5.3VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.5.4:*:*:*:*:*:*:*0.5.4VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.6.0:*:*:*:*:*:*:*0.6.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.6.3:*:*:*:*:*:*:*0.6.3VulnerableMacournoyer
  • cpe:2.3:a:macournoyer:thin:*:*:*:*:*:*:*:* Versions up to 1.2.2 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.4.0:*:*:*:*:*:*:* Versions 0.4.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.4.1:*:*:*:*:*:*:* Versions 0.4.1 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.5.0:*:*:*:*:*:*:* Versions 0.5.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.5.1:*:*:*:*:*:*:* Versions 0.5.1 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.5.2:*:*:*:*:*:*:* Versions 0.5.2 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.5.3:*:*:*:*:*:*:* Versions 0.5.3 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.5.4:*:*:*:*:*:*:* Versions 0.5.4 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.6.0:*:*:*:*:*:*:* Versions 0.6.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.6.3:*:*:*:*:*:*:* Versions 0.6.3 Vulnerable ·Macournoyer
Show 11 more CPE
CPEVersionsRoleVendor
cpe:2.3:a:macournoyer:thin:0.6.4:*:*:*:*:*:*:*0.6.4VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.7.0:*:*:*:*:*:*:*0.7.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.7.1:*:*:*:*:*:*:*0.7.1VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.8.0:*:*:*:*:*:*:*0.8.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.8.1:*:*:*:*:*:*:*0.8.1VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:0.8.2:*:*:*:*:*:*:*0.8.2VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:1.0.0:*:*:*:*:*:*:*1.0.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:1.1.0:*:*:*:*:*:*:*1.1.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:1.1.1:*:*:*:*:*:*:*1.1.1VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:1.2.0:*:*:*:*:*:*:*1.2.0VulnerableMacournoyer
cpe:2.3:a:macournoyer:thin:1.2.1:*:*:*:*:*:*:*1.2.1VulnerableMacournoyer
  • cpe:2.3:a:macournoyer:thin:0.6.4:*:*:*:*:*:*:* Versions 0.6.4 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.7.0:*:*:*:*:*:*:* Versions 0.7.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.7.1:*:*:*:*:*:*:* Versions 0.7.1 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.8.0:*:*:*:*:*:*:* Versions 0.8.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.8.1:*:*:*:*:*:*:* Versions 0.8.1 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:0.8.2:*:*:*:*:*:*:* Versions 0.8.2 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:1.0.0:*:*:*:*:*:*:* Versions 1.0.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:1.1.0:*:*:*:*:*:*:* Versions 1.1.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:1.1.1:*:*:*:*:*:*:* Versions 1.1.1 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:1.2.0:*:*:*:*:*:*:* Versions 1.2.0 Vulnerable ·Macournoyer
  • cpe:2.3:a:macournoyer:thin:1.2.1:*:*:*:*:*:*:* Versions 1.2.1 Vulnerable ·Macournoyer

Remediation

  • Fix · GHSA-j24p-r6wx-r79w thin (RubyGems) Fixed in 1.2.4 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2009-3287
  2. 2026-10-03 Alias added: GHSA-j24p-r6wx-r79w

References

Sources