{"id":"CVE-2020-5249","aliases":["DEBIAN-CVE-2020-5249","EUVD-2020-0325","GHSA-33vf-4xgg-9r58","SUSE-SU-2020:3036-1","SUSE-SU-2020:3147-1","SUSE-SU-2020:3160-1","UBUNTU-CVE-2020-5249","openSUSE-SU-2020:1993-1","openSUSE-SU-2020:2000-1"],"status":"published","title":"HTTP Response Splitting (Early Hints) in Puma","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.01571,"percentile":0.75554,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-113","CWE-74"],"published":"2020-03-02T15:20:21Z","modified":"2026-10-26T12:02:04Z","fixes":[{"ecosystem":"RubyGems","package":"puma","fixed_in":["3.12.4","4.3.3"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"puma","fixed_in":["3.12.4-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"puma","fixed_in":["3.12.4-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"puma","fixed_in":["3.12.4-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.4"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.3.3"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.4-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.4-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.4-1"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.4"}]}],"versions":["0.8.0","0.8.1","0.8.2","0.9.0","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5","1.0.0","1.1.0","1.1.1","1.2.0","1.2.1","1.2.2","1.3.0","1.3.1","1.4.0","1.5.0","1.6.0","1.6.1","1.6.2","1.6.3","2.0.0","2.0.0.b1","2.0.0.b2","2.0.0.b3","2.0.0.b4","2.0.0.b5","2.0.0.b6","2.0.0.b7","2.0.1","2.1.0","2.1.1","2.10.0","2.10.1","2.10.2","2.11.0","2.11.1","2.11.2","2.11.3","2.12.0","2.12.1","2.12.2","2.12.3","2.13.0","2.13.1","2.13.2","2.13.3","2.13.4","2.14.0","2.15.0","2.15.1","2.15.2","2.15.3","2.16.0","2.2.0","2.2.1","2.2.2","2.3.0","2.3.1","2.3.2","2.4.0","2.4.1","2.5.0","2.5.1","2.6.0","2.7.0","2.7.1","2.8.0","2.8.1","2.8.2","2.9.0","2.9.1","2.9.2","3.0.0","3.0.0.rc1","3.0.1","3.0.2","3.1.0","3.1.1","3.10.0","3.11.0","3.11.1","3.11.2","3.11.3","3.11.4","3.12.0","3.12.1","3.12.2","3.2.0","3.3.0","3.4.0","3.5.0","3.5.1","3.5.2","3.6.0","3.6.1","3.6.2","3.7.0","3.7.1","3.8.0","3.8.1","3.8.2","3.9.0","3.9.1"]},{"source":"osv","ecosystem":"RubyGems","package":"puma","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.3.3"}]}],"versions":["4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1","4.3.0","4.3.1"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Public Cloud 15 SP2","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.3.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Server Applications 15 SP2","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.3.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15-ESPOS","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.34.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15-LTSS","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.34.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15-LTSS","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.34.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.34.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Public Cloud 15 SP1","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.18.1"}]}],"bundled":16},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Server Applications 15 SP1","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-3.18.1"}]}],"bundled":16},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-lp152.2.3.1"}]}],"bundled":16},{"source":"osv","ecosystem":"openSUSE:Leap 15.1","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.5-lp151.2.18.2"}]}],"bundled":16}],"products":[{"vendor":"puma","product":"puma"}],"references":[{"url":"https://owasp.org/www-community/attacks/HTTP_Response_Splitting","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/puma/puma/security/advisories/GHSA-33vf-4xgg-9r58","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/puma/puma/security/advisories/GHSA-84j7-475p-hp8v","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/puma/puma/commit/c22712fc93284a45a93f9ad7023888f3a65524f3","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NJ3LL5F5QADB6LM46GXZETREAKZMQNRD/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/BMJ3CGZ3DLBJ5WUUKMI5ZFXFJQMXJZIK/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DIHVO3CQMU7BZC7FCTSRJ33YDNS3GFPK/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-5249","tags":["advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BMJ3CGZ3DLBJ5WUUKMI5ZFXFJQMXJZIK/"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DIHVO3CQMU7BZC7FCTSRJ33YDNS3GFPK/"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NJ3LL5F5QADB6LM46GXZETREAKZMQNRD/"},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2020-5249.yml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-33vf-4xgg-9r58"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-5249","tags":["advisory"]},{"url":"https://github.com/puma/puma","tags":["package"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BMJ3CGZ3DLBJ5WUUKMI5ZFXFJQMXJZIK","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DIHVO3CQMU7BZC7FCTSRJ33YDNS3GFPK","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NJ3LL5F5QADB6LM46GXZETREAKZMQNRD","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20203036-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1165548","tags":["report"]},{"url":"https://bugzilla.suse.com/1168554","tags":["report"]},{"url":"https://bugzilla.suse.com/1172177","tags":["report"]},{"url":"https://bugzilla.suse.com/1172182","tags":["report"]},{"url":"https://bugzilla.suse.com/1172184","tags":["report"]},{"url":"https://bugzilla.suse.com/1172186","tags":["report"]},{"url":"https://bugzilla.suse.com/1173351","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16770","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-5418","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-5419","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-5420","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-11076","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-11077","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15169","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-5247","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-5249","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-5267","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8164","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8165","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8166","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8167","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8184","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8185","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20203147-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20203160-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2020-5249","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-5249","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/2W26GJJ7QXIADWB6ZCQWC2BUZD2ALYVT/","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/7MCDUWQEXA3XGI7X2XPATA7YTNVDYTSF/","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2020-5249","title":"HTTP Response Splitting (Early Hints) in Puma","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","status":"published","published":"2020-03-02T15:20:21Z","modified":"2024-08-04T08:22:09.092Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-113"],"updated_at":"2026-11-02T14:35:47.56691Z"}],"euvd":[{"id":"EUVD-2020-0325","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","status":"published","published":"2020-03-02T15:20:21Z","modified":"2024-08-04T08:22:09Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-03T03:08:07.28588Z"}],"ghsa":[{"id":"GHSA-33vf-4xgg-9r58","title":"HTTP Response Splitting (Early Hints) in Puma","description":"### Impact\nIf an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as [HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting).\n\nWhile not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS).\n\nThis is related to [CVE-2020-5247](https://github.com/puma/puma/security/advisories/GHSA-84j7-475p-hp8v), which fixed this vulnerability but only for regular responses.\n\n### Patches\nThis has been fixed in 4.3.3 and 3.12.4.\n\n### Workarounds\nUsers can not allow untrusted/user input in the Early Hints response header.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [puma](https://github.com/puma/puma)\n* Email us a project maintainer. [Email addresses are listed in our Code of Conduct](https://github.com/puma/puma/blob/master/CODE_OF_CONDUCT.md#enforcement).","status":"published","published":"2020-03-03T23:33:16Z","modified":"2023-11-09T05:00:30Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-74","CWE-113"],"updated_at":"2026-11-02T14:37:17.64478Z"}],"nvd":[{"id":"CVE-2020-5249","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","status":"published","published":"2020-03-02T16:15:12.33Z","modified":"2026-06-17T03:21:07.76Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-113","CWE-74"],"updated_at":"2026-11-02T14:05:54.796125Z"}],"osv":[{"id":"CVE-2020-5249","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","status":"published","published":"2020-03-02T16:15:12.33Z","modified":"2026-10-20T10:54:22.440675544Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:16.936975Z"},{"id":"DEBIAN-CVE-2020-5249","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","status":"published","published":"2020-03-02T16:15:12.33Z","modified":"2026-10-26T12:02:04.906332724Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:34.019707Z"},{"id":"GHSA-33vf-4xgg-9r58","title":"HTTP Response Splitting (Early Hints) in Puma","description":"### Impact\nIf an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as [HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting).\n\nWhile not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS).\n\nThis is related to [CVE-2020-5247](https://github.com/puma/puma/security/advisories/GHSA-84j7-475p-hp8v), which fixed this vulnerability but only for regular responses.\n\n### Patches\nThis has been fixed in 4.3.3 and 3.12.4.\n\n### Workarounds\nUsers can not allow untrusted/user input in the Early Hints response header.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [puma](https://github.com/puma/puma)\n* Email us a project maintainer. [Email addresses are listed in our Code of Conduct](https://github.com/puma/puma/blob/master/CODE_OF_CONDUCT.md#enforcement).","status":"published","published":"2020-03-03T23:33:16Z","modified":"2026-02-04T04:19:30.628978Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-113","CWE-74"],"updated_at":"2026-11-02T15:46:35.050232Z"},{"id":"UBUNTU-CVE-2020-5249","description":"In Puma (RubyGem) before 4.3.3 and 3.12.4, if an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2020-5247, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.","status":"withdrawn","published":"2020-03-02T16:15:00Z","modified":"2025-07-16T07:41:40.781468Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T15:54:25.179924Z"},{"id":"openSUSE-SU-2020:1993-1","title":"Security update for rmt-server","description":"This update for rmt-server fixes the following issues:\n\nUpdate to version 2.6.5:\n- Solved potential bug of SCC repository URLs changing over time. RMT\n  now self heals by removing the previous invalid repository and\n  creating the correct one.\n- Add web server settings to /etc/rmt.conf:\n  Now it's possible to configure the minimum and maximum threads count as well\n  the number of web server workers to be booted through /etc/rmt.conf.\n- Instead of using an MD5 of URLs for custom repository friendly_ids,\n  RMT now builds an ID from the name.\n- Fix RMT file caching based on timestamps:\n  Previously, RMT sent GET requests with the header 'If-Modified-Since' to a\n  repository server and if the response had a 304 (Not Modified), it would copy\n  a file from the local cache instead of downloading. However, if the local file\n  timestamp accidentally changed to a date newer than the one on the repository\n  server, RMT would have an outdated file, which caused some errors.\n  Now, RMT makes HEAD requests to the repositories servers and inspect the\n  'Last-Modified' header to decide whether to download a file or copy it from\n  cache, by comparing the equalness of timestamps.\n- Fixed an issue where relative paths supplied to `rmt-cli import repos`\n  caused the command to fail.\n- Friendlier IDs for custom repositories:\n  In an effort to simplify the handling of SCC and custom repositories,\n  RMT now has friendly IDs. For SCC repositories, it's the same SCC ID\n  as before. For custom repositories, it can either be user provided\n  or RMT generated (MD5 of the provided URL).\n  Benefits:\n  * `rmt-cli mirror repositories` now works for custom repositories.\n  * Custom repository IDs can be the same across RMT instances.\n  * No more confusing 'SCC ID' vs 'ID' in `rmt-cli` output.\n  Deprecation Warnings:\n  * RMT now uses a different ID for custom repositories than before.\n    RMT still supports that old ID, but it's recommended to start\n    using the new ID to ensure future compatibility.\n- Updated rails and puma dependencies for security fixes.\n\nThis update was imported from the SUSE:SLE-15-SP2:Update update project.","status":"published","published":"2020-11-21T11:23:05Z","modified":"2026-02-04T04:06:02.22454Z","updated_at":"2026-11-02T16:58:31.517538Z"},{"id":"openSUSE-SU-2020:2000-1","title":"Security update for rmt-server","description":"This update for rmt-server fixes the following issues:\n\n- Version 2.6.5\n- Solved potential bug of SCC repository URLs changing over time. RMT\n  now self heals by removing the previous invalid repository and\n  creating the correct one.\n\n- Version 2.6.4\n- Add web server settings to /etc/rmt.conf:\n  Now it's possible to configure the minimum and maximum threads count as well\n  the number of web server workers to be booted through /etc/rmt.conf.\n\n- Version 2.6.3\n- Instead of using an MD5 of URLs for custom repository friendly_ids,\n  RMT now builds an ID from the name.\n\n- Version 2.6.2\n- Fix RMT file caching based on timestamps:\n  Previously, RMT sent GET requests with the header 'If-Modified-Since' to a\n  repository server and if the response had a 304 (Not Modified), it would copy\n  a file from the local cache instead of downloading. However, if the local file\n  timestamp accidentally changed to a date newer than the one on the repository\n  server, RMT would have an outdated file, which caused some errors.\n  Now, RMT makes HEAD requests to the repositories servers and inspect the\n  'Last-Modified' header to decide whether to download a file or copy it from\n  cache, by comparing the equalness of timestamps.\n  \n\n- Version 2.6.1\n- Fixed an issue where relative paths supplied to `rmt-cli import repos`\n  caused the command to fail.\n\n- Version 2.6.0\n- Friendlier IDs for custom repositories:\n  In an effort to simplify the handling of SCC and custom repositories,\n  RMT now has friendly IDs. For SCC repositories, it's the same SCC ID\n  as before. For custom repositories, it can either be user provided\n  or RMT generated (MD5 of the provided URL).\n  Benefits:\n  * `rmt-cli mirror repositories` now works for custom repositories.\n  * Custom repository IDs can be the same across RMT instances.\n  * No more confusing 'SCC ID' vs 'ID' in `rmt-cli` output.\n  Deprecation Warnings:\n  * RMT now uses a different ID for custom repositories than before.\n    RMT still supports that old ID, but it's recommended to start\n    using the new ID to ensure future compatibility.\n\n- Version 2.5.20\n- Updated rails from 6.0.3.2 to 6.0.3.3:\n  - actionview (CVE-2020-15169)\n\n- Version 2.5.19\n- RMT now has the ability to remove local systems with the command\n  `rmt-cli systems remove`.\n\n- Version 2.5.18\n- Fixed exit code for `rmt-cli mirror` and its subcommands. Now it exits with 1\n  whenever an error occurs during mirroring\n- Improved message logging for `rtm-cli mirror`. Instead of logging an error\n  when it occurs, the command summarize all errors at the end of execution. Now\n  log messages have colors to better identify failure/success.\n\n- Version 2.5.17\n- RMT no longer provides the installer updates repository to systems via its\n  zypper service. This repository is used during the installation process, as\n  it provides an up-to-date installation experience, but it has no use on an\n  already installed system.\n\n- Version 2.5.16\n- Updated RMT's rails and puma dependencies.\n  - puma (CVE-2020-11076, CVE-2020-11077, CVE-2020-5249, CVE-2020-5247\n    CVE-2019-16770)\n  - actionpack (CVE-2020-8185, CVE-2020-8164, CVE-2020-8166)\n  - actionview (CVE-2020-8167, CVE-2020-5267, CVE-2019-5418, CVE-2019-5419)\n  - activesupport (CVE-2020-8165)\n  - railties (CVE-2019-5420)\n\n- Version 2.5.15\n- RMT now checks if repositories are fully mirrored during the\n  activation process. Previously, RMT only checked if the repositories\n  were enabled to be mirrored, but not that they were actually mirrored.\n  In this case, RMTs were not able to provide the repository data which\n  systems assumed it had.\n\n- Version 2.5.14\n- Enable 'Installer-Updates' repositories by default\n\n- Fixed deprecation warning when thor encountered an error. Also,\n  instead of returning 0 for thor errors, rmt-cli will return 1\n  instead.\n\n- Version 2.5.13\n- Added `rmt-cli repos clean` command to remove locally mirrored files\n  of repositories which are not marked to be mirrored.\n- Previously, RMT didn't track deduplicated files in its database. Now,\n  to accommodate `rmt-cli repos clean`, RMT will track all mirrored\n  files.\n\n- Move the nginx reload to the configuration package which contain\n  nginx config files, don't reload nginx unconditionally from main\n  package.\n\n- Version 2.5.12\n- Update rack to version 2.2.3 (CVE-2020-8184: bsc#1173351)\n- Update Rails to version 5.2.4.3:\n  - actionpack (CVE-2020-8164: bsc#1172177)\n  - actionpack (CVE-2020-8166: bsc#1172182)\n  - activesupport (CVE-2020-8165: bsc#1172186)\n  - actionview (CVE-2020-8167: bsc#1172184)\n\n- Version 2.5.11\n- rmt-server-pubcloud:\n  - SLES11 EOL\n  - Extension activation verification based on the available subscriptions\n  - Added a manual instance verification script\n\n- Version 2.5.10\n- Support rmt-server to run with Ruby 2.7 (Factory/Tumbleweed):\n  - Bump gem 'config' version from 1.7.2 to 2.2.1 to fix incompatibility Ruby\n    2.7 OpenStruct class;\n  - Bump gem 'typhoeus' version from 1.3.1 to 1.4.0 in order to also bump gem\n    'ethon' version, which caused a 'rb_safe_level' warning on Ruby 2.7;\n  - Fix 'last arg as keyword arg' Ruby 2.7 warning on source code;\n  - Disable 'deprecated' warnings from Ruby 2.7; Rails 5.1 generates a lot of\n    warnings with Ruby 2.7, mainly due to 'capturing the given block with\n    Proc.new', which is deprecated;\n  - Improve RPM spec to consider only the distribution default Ruby version\n    configured in OBS;\n  - Improve RPM spec to remove Ruby 2.7 warnings regarding 'bundler.\n\n- Move nginx/vhosts.d directory to correct sub-package. They\n  are needed together with nginx, not rmt-server.\n- Fix dependencies especially for containerized usage:\n  - mariadb and nginx are not hard requires, could run on another host\n- Fix generic dependencies:\n  - systemd ordering was missing\n  - shadow is required for pre-install\n\n- Version 2.5.9\n- rmt-server-pubcloud: enforce strict authentication\n\n- Version 2.5.8\n- Use repomd_parser gem to remove repository metadata parsing code.\n\nThis update was imported from the SUSE:SLE-15-SP1:Update update project.","status":"published","published":"2020-11-23T09:30:24Z","modified":"2026-02-04T02:41:28.780194Z","updated_at":"2026-11-02T16:58:31.517538Z"},{"id":"SUSE-SU-2020:3036-1","title":"Security update for rmt-server","description":"This update for rmt-server fixes the following issues:\n\nUpdate to version 2.6.5:\n- Solved potential bug of SCC repository URLs changing over time. RMT\n  now self heals by removing the previous invalid repository and\n  creating the correct one.\n- Add web server settings to /etc/rmt.conf:\n  Now it's possible to configure the minimum and maximum threads count as well\n  the number of web server workers to be booted through /etc/rmt.conf.\n- Instead of using an MD5 of URLs for custom repository friendly_ids,\n  RMT now builds an ID from the name.\n- Fix RMT file caching based on timestamps:\n  Previously, RMT sent GET requests with the header 'If-Modified-Since' to a\n  repository server and if the response had a 304 (Not Modified), it would copy\n  a file from the local cache instead of downloading. However, if the local file\n  timestamp accidentally changed to a date newer than the one on the repository\n  server, RMT would have an outdated file, which caused some errors.\n  Now, RMT makes HEAD requests to the repositories servers and inspect the\n  'Last-Modified' header to decide whether to download a file or copy it from\n  cache, by comparing the equalness of timestamps.\n- Fixed an issue where relative paths supplied to `rmt-cli import repos`\n  caused the command to fail.\n- Friendlier IDs for custom repositories:\n  In an effort to simplify the handling of SCC and custom repositories,\n  RMT now has friendly IDs. For SCC repositories, it's the same SCC ID\n  as before. For custom repositories, it can either be user provided\n  or RMT generated (MD5 of the provided URL).\n  Benefits:\n  * `rmt-cli mirror repositories` now works for custom repositories.\n  * Custom repository IDs can be the same across RMT instances.\n  * No more confusing 'SCC ID' vs 'ID' in `rmt-cli` output.\n  Deprecation Warnings:\n  * RMT now uses a different ID for custom repositories than before.\n    RMT still supports that old ID, but it's recommended to start\n    using the new ID to ensure future compatibility.\n- Updated rails and puma dependencies for security fixes.\n","status":"published","published":"2020-10-26T11:11:15Z","modified":"2026-02-04T02:46:56.057405Z","updated_at":"2026-11-02T15:53:48.11786Z"},{"id":"SUSE-SU-2020:3147-1","title":"Security update for rmt-server","description":"This update for rmt-server fixes the following issues:\n\n- Version 2.6.5\n- Solved potential bug of SCC repository URLs changing over time. RMT\n  now self heals by removing the previous invalid repository and\n  creating the correct one.\n\n- Version 2.6.4\n- Add web server settings to /etc/rmt.conf:\n  Now it's possible to configure the minimum and maximum threads count as well\n  the number of web server workers to be booted through /etc/rmt.conf.\n\n- Version 2.6.3\n- Instead of using an MD5 of URLs for custom repository friendly_ids,\n  RMT now builds an ID from the name.\n\n- Version 2.6.2\n- Fix RMT file caching based on timestamps:\n  Previously, RMT sent GET requests with the header 'If-Modified-Since' to a\n  repository server and if the response had a 304 (Not Modified), it would copy\n  a file from the local cache instead of downloading. However, if the local file\n  timestamp accidentally changed to a date newer than the one on the repository\n  server, RMT would have an outdated file, which caused some errors.\n  Now, RMT makes HEAD requests to the repositories servers and inspect the\n  'Last-Modified' header to decide whether to download a file or copy it from\n  cache, by comparing the equalness of timestamps.\n  \n\n- Version 2.6.1\n- Fixed an issue where relative paths supplied to `rmt-cli import repos`\n  caused the command to fail.\n\n- Version 2.6.0\n- Friendlier IDs for custom repositories:\n  In an effort to simplify the handling of SCC and custom repositories,\n  RMT now has friendly IDs. For SCC repositories, it's the same SCC ID\n  as before. For custom repositories, it can either be user provided\n  or RMT generated (MD5 of the provided URL).\n  Benefits:\n  * `rmt-cli mirror repositories` now works for custom repositories.\n  * Custom repository IDs can be the same across RMT instances.\n  * No more confusing 'SCC ID' vs 'ID' in `rmt-cli` output.\n  Deprecation Warnings:\n  * RMT now uses a different ID for custom repositories than before.\n    RMT still supports that old ID, but it's recommended to start\n    using the new ID to ensure future compatibility.\n\n- Version 2.5.20\n- Updated rails from 6.0.3.2 to 6.0.3.3:\n  - actionview (CVE-2020-15169)\n\n- Version 2.5.19\n- RMT now has the ability to remove local systems with the command\n  `rmt-cli systems remove`.\n\n- Version 2.5.18\n- Fixed exit code for `rmt-cli mirror` and its subcommands. Now it exits with 1\n  whenever an error occurrs during mirroring\n- Improved message logging for `rtm-cli mirror`. Instead of logging an error\n  when it occurs, the command summarize all errors at the end of execution. Now\n  log messages have colors to better identify failure/success.\n\n- Version 2.5.17\n- RMT no longer provides the installer updates repository to systems via its\n  zypper service. This repository is used during the installation process, as\n  it provides an up-to-date installation experience, but it has no use on an\n  already installed system.\n\n- Version 2.5.16\n- Updated RMT's rails and puma dependencies.\n  - puma (CVE-2020-11076, CVE-2020-11077, CVE-2020-5249, CVE-2020-5247\n    CVE-2019-16770)\n  - actionpack (CVE-2020-8185, CVE-2020-8164, CVE-2020-8166)\n  - actionview (CVE-2020-8167, CVE-2020-5267, CVE-2019-5418, CVE-2019-5419)\n  - activesupport (CVE-2020-8165)\n  - railties (CVE-2019-5420)\n\n- Version 2.5.15\n- RMT now checks if repositories are fully mirrored during the\n  activation process. Previously, RMT only checked if the repositories\n  were enabled to be mirrored, but not that they were actually mirrored.\n  In this case, RMTs were not able to provide the repository data which\n  systems assumed it had.\n\n- Version 2.5.14\n- Enable 'Installer-Updates' repositories by default\n\n- Fixed deprecation warning when thor encountered an error. Also,\n  instead of returning 0 for thor errors, rmt-cli will return 1\n  instead.\n\n- Version 2.5.13\n- Added `rmt-cli repos clean` command to remove locally mirrored files\n  of repositories which are not marked to be mirrored.\n- Previously, RMT didn't track deduplicated files in its database. Now,\n  to accommodate `rmt-cli repos clean`, RMT will track all mirrored\n  files.\n\n- Move the nginx reload to the configuration package which contain\n  nginx config files, don't reload nginx unconditionally from main\n  package.\n\n- Version 2.5.12\n- Update rack to version 2.2.3 (CVE-2020-8184: bsc#1173351)\n- Update Rails to version 5.2.4.3:\n  - actionpack (CVE-2020-8164: bsc#1172177)\n  - actionpack (CVE-2020-8166: bsc#1172182)\n  - activesupport (CVE-2020-8165: bsc#1172186)\n  - actionview (CVE-2020-8167: bsc#1172184)\n\n- Version 2.5.11\n- rmt-server-pubcloud:\n  - SLES11 EOL\n  - Extension activation verification based on the available subscriptions\n  - Added a manual instance verification script\n\n- Version 2.5.10\n- Support rmt-server to run with Ruby 2.7 (Factory/Tumbleweed):\n  - Bump gem 'config' version from 1.7.2 to 2.2.1 to fix incompatibility Ruby\n    2.7 OpenStruct class;\n  - Bump gem 'typhoeus' version from 1.3.1 to 1.4.0 in order to also bump gem\n    'ethon' version, which caused a 'rb_safe_level' warning on Ruby 2.7;\n  - Fix 'last arg as keyword arg' Ruby 2.7 warning on source code;\n  - Disable 'deprecated' warnings from Ruby 2.7; Rails 5.1 generates a lot of\n    warnings with Ruby 2.7, mainly due to 'capturing the given block with\n    Proc.new', which is deprecated;\n  - Improve RPM spec to consider only the distribution default Ruby version\n    configured in OBS;\n  - Improve RPM spec to remove Ruby 2.7 warnings regarding 'bundler.\n\n- Move nginx/vhosts.d directory to correct sub-package. They\n  are needed together with nginx, not rmt-server.\n- Fix dependencies especially for containerized usage:\n  - mariadb and nginx are not hard requires, could run on another host\n- Fix generic dependencies:\n  - systemd ordering was missing\n  - shadow is required for pre-install\n\n- Version 2.5.9\n- rmt-server-pubcloud: enforce strict authentication\n\n- Version 2.5.8\n- Use repomd_parser gem to remove repository metadata parsing code.\n","status":"published","published":"2020-11-04T10:02:46Z","modified":"2026-02-04T02:41:44.175135Z","updated_at":"2026-11-02T15:53:48.11786Z"},{"id":"SUSE-SU-2020:3160-1","title":"Security update for rmt-server","description":"This update for rmt-server fixes the following issues:\n\n- Version 2.6.5\n- Solved potential bug of SCC repository URLs changing over time. RMT\n  now self heals by removing the previous invalid repository and\n  creating the correct one.\n\n- Version 2.6.4\n- Add web server settings to /etc/rmt.conf:\n  Now it's possible to configure the minimum and maximum threads count as well\n  the number of web server workers to be booted through /etc/rmt.conf.\n\n- Version 2.6.3\n- Instead of using an MD5 of URLs for custom repository friendly_ids,\n  RMT now builds an ID from the name.\n\n- Version 2.6.2\n- Fix RMT file caching based on timestamps:\n  Previously, RMT sent GET requests with the header 'If-Modified-Since' to a\n  repository server and if the response had a 304 (Not Modified), it would copy\n  a file from the local cache instead of downloading. However, if the local file\n  timestamp accidentally changed to a date newer than the one on the repository\n  server, RMT would have an outdated file, which caused some errors.\n  Now, RMT makes HEAD requests to the repositories servers and inspect the\n  'Last-Modified' header to decide whether to download a file or copy it from\n  cache, by comparing the equalness of timestamps.\n  \n\n- Version 2.6.1\n- Fixed an issue where relative paths supplied to `rmt-cli import repos`\n  caused the command to fail.\n\n- Version 2.6.0\n- Friendlier IDs for custom repositories:\n  In an effort to simplify the handling of SCC and custom repositories,\n  RMT now has friendly IDs. For SCC repositories, it's the same SCC ID\n  as before. For custom repositories, it can either be user provided\n  or RMT generated (MD5 of the provided URL).\n  Benefits:\n  * `rmt-cli mirror repositories` now works for custom repositories.\n  * Custom repository IDs can be the same across RMT instances.\n  * No more confusing 'SCC ID' vs 'ID' in `rmt-cli` output.\n  Deprecation Warnings:\n  * RMT now uses a different ID for custom repositories than before.\n    RMT still supports that old ID, but it's recommended to start\n    using the new ID to ensure future compatibility.\n\n- Version 2.5.20\n- Updated rails from 6.0.3.2 to 6.0.3.3:\n  - actionview (CVE-2020-15169)\n\n- Version 2.5.19\n- RMT now has the ability to remove local systems with the command\n  `rmt-cli systems remove`.\n\n- Version 2.5.18\n- Fixed exit code for `rmt-cli mirror` and its subcommands. Now it exits with 1\n  whenever an error occurs during mirroring\n- Improved message logging for `rtm-cli mirror`. Instead of logging an error\n  when it occurs, the command summarize all errors at the end of execution. Now\n  log messages have colors to better identify failure/success.\n\n- Version 2.5.17\n- RMT no longer provides the installer updates repository to systems via its\n  zypper service. This repository is used during the installation process, as\n  it provides an up-to-date installation experience, but it has no use on an\n  already installed system.\n\n- Version 2.5.16\n- Updated RMT's rails and puma dependencies.\n  - puma (CVE-2020-11076, CVE-2020-11077, CVE-2020-5249, CVE-2020-5247\n    CVE-2019-16770)\n  - actionpack (CVE-2020-8185, CVE-2020-8164, CVE-2020-8166)\n  - actionview (CVE-2020-8167, CVE-2020-5267, CVE-2019-5418, CVE-2019-5419)\n  - activesupport (CVE-2020-8165)\n  - railties (CVE-2019-5420)\n\n- Version 2.5.15\n- RMT now checks if repositories are fully mirrored during the\n  activation process. Previously, RMT only checked if the repositories\n  were enabled to be mirrored, but not that they were actually mirrored.\n  In this case, RMTs were not able to provide the repository data which\n  systems assumed it had.\n\n- Version 2.5.14\n- Enable 'Installer-Updates' repositories by default\n\n- Fixed deprecation warning when thor encountered an error. Also,\n  instead of returning 0 for thor errors, rmt-cli will return 1\n  instead.\n\n- Version 2.5.13\n- Added `rmt-cli repos clean` command to remove locally mirrored files\n  of repositories which are not marked to be mirrored.\n- Previously, RMT didn't track deduplicated files in its database. Now,\n  to accommodate `rmt-cli repos clean`, RMT will track all mirrored\n  files.\n\n- Move the nginx reload to the configuration package which contain\n  nginx config files, don't reload nginx unconditionally from main\n  package.\n\n- Version 2.5.12\n- Update rack to version 2.2.3 (CVE-2020-8184: bsc#1173351)\n- Update Rails to version 5.2.4.3:\n  - actionpack (CVE-2020-8164: bsc#1172177)\n  - actionpack (CVE-2020-8166: bsc#1172182)\n  - activesupport (CVE-2020-8165: bsc#1172186)\n  - actionview (CVE-2020-8167: bsc#1172184)\n\n- Version 2.5.11\n- rmt-server-pubcloud:\n  - SLES11 EOL\n  - Extension activation verification based on the available subscriptions\n  - Added a manual instance verification script\n\n- Version 2.5.10\n- Support rmt-server to run with Ruby 2.7 (Factory/Tumbleweed):\n  - Bump gem 'config' version from 1.7.2 to 2.2.1 to fix incompatibility Ruby\n    2.7 OpenStruct class;\n  - Bump gem 'typhoeus' version from 1.3.1 to 1.4.0 in order to also bump gem\n    'ethon' version, which caused a 'rb_safe_level' warning on Ruby 2.7;\n  - Fix 'last arg as keyword arg' Ruby 2.7 warning on source code;\n  - Disable 'deprecated' warnings from Ruby 2.7; Rails 5.1 generates a lot of\n    warnings with Ruby 2.7, mainly due to 'capturing the given block with\n    Proc.new', which is deprecated;\n  - Improve RPM spec to consider only the distribution default Ruby version\n    configured in OBS;\n  - Improve RPM spec to remove Ruby 2.7 warnings regarding 'bundler.\n\n- Move nginx/vhosts.d directory to correct sub-package. They\n  are needed together with nginx, not rmt-server.\n- Fix dependencies especially for containerized usage:\n  - mariadb and nginx are not hard requires, could run on another host\n- Fix generic dependencies:\n  - systemd ordering was missing\n  - shadow is required for pre-install\n\n- Version 2.5.9\n- rmt-server-pubcloud: enforce strict authentication\n\n- Version 2.5.8\n- Use repomd_parser gem to remove repository metadata parsing code.\n","status":"published","published":"2020-11-05T09:33:25Z","modified":"2026-02-04T04:11:11.152927Z","updated_at":"2026-11-02T15:53:48.11786Z"}]}}
