{"id":"CVE-2026-126075","published":"2026-11-10T21:19:25.880","lastModified":"2026-11-10T21:19:25.880","description":"Active Support is a collection of utility classes and standard library extensions used by Rails and other Ruby projects. From 8.1 until 8.1.4.1, ActiveSupport::MessagePack serializes an ActiveSupport::SafeBuffer as its bytes alone and deserializes it as a new SafeBuffer, so a buffer that is no longer html_safe? (for example, one mutated in place with gsub!) is restored as html_safe. If such a buffer holds untrusted input and is stored through a MessagePack serializer, rendering it after it is loaded bypasses ERB auto-escaping, possibly leading to XSS. Applications on Rails 8.1 are affected if they use a MessagePack serializer, such as config.action_dispatch.cookies_serializer = :message_pack or :message_pack_allow_marshal, or serializer: :message_pack for Rails.cache, ActiveSupport::MessageVerifier or ActiveSupport::MessageEncryptor, and store a SafeBuffer that was mutated in place with untrusted input. Rails 8.0 and earlier do not serialize SafeBuffer with MessagePack and are not affected. This issue is fixed in version 8.1.4.1.","cvssScore":4.7,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","cwes":["CWE-79"],"vendors":[],"products":[],"references":[{"url":"https://github.com/rails/rails/commit/4ca090665976e6fbc471c38689b399f84b43cdc7","tags":[]},{"url":"https://github.com/rails/rails/releases/tag/v8.1.4.1","tags":[]},{"url":"https://github.com/rails/rails/security/advisories/GHSA-2w9f-fxwj-w2qf","tags":[]}],"exploitRefs":[{"url":"https://github.com/rails/rails/commit/4ca090665976e6fbc471c38689b399f84b43cdc7","tags":[]},{"url":"https://github.com/rails/rails/releases/tag/v8.1.4.1","tags":[]},{"url":"https://github.com/rails/rails/security/advisories/GHSA-2w9f-fxwj-w2qf","tags":[]}],"hasPoc":true,"ai":null}