Vulnerability Information
Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.
Vulnerability Title
pay-rails/pay: non-constant-time HMAC comparison in Paddle Billing webhook signature verifier
Vulnerability Description
Pay is a payments engine for Ruby on Rails 6.0 and higher. Prior to 11.6.2, Pay::Webhooks::PaddleBillingController#valid_signature? in app/controllers/pay/webhooks/paddle_billing_controller.rb compares the computed 64-character SHA-256 HMAC with the attacker-controlled h1 token from the Paddle-Signature header using Ruby String#==. An unauthenticated remote attacker who can repeatedly submit requests to /pay/webhooks/paddle_billing and obtain sufficiently precise timing measurements can infer matching digest prefixes and recover a valid signature. A forged accepted webhook is enqueued through Pay::Webhooks::ProcessJob and can cause a host application to update billing state, provision paid features, record refunds, or trigger customer notifications. This issue is fixed in version 11.6.2.
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Vulnerability Type
通过时间差异性导致的信息暴露
Vulnerability Title
Pay 侧信道信息泄露漏洞
Vulnerability Description
Pay是Pay组织开源的一款提供支付交易处理能力的软件组件。 Pay 11.6.2之前版本存在侧信道信息泄露漏洞,该漏洞源于Pay::Webhooks::PaddleBillingController#valid_signature?使用Ruby String#==将计算的64字符SHA-256 HMAC与来自Paddle-Signature标头的攻击者可控h1令牌进行比较,未经身份验证的远程攻击者可通过反复提交请求并获取精确的时间差异,推断匹配的摘要前缀并恢复有效签名,伪造的webhook经Pay::W
CVSS Information
N/A
Vulnerability Type
N/A