From: Jeremy Evans Subject: Update: Ruby 4.0.7 To: OpenBSD ports Date: Tue, 15 Sep 2026 22:10:05 -0700 This update to the latest release of Ruby 4.0. Release announcement at https://www.ruby-lang.org/en/news/2026/09/15/ruby-4-0-7-released/ This includes fixes for: CVE-2026-80212: Memory exhaustion through malicious DNS responses CVE-2026-80213: Hostname validation bypass Tested on amd64. I plan to commit in a couple days unless I hear objections. Best, Jeremy Index: Makefile =================================================================== RCS file: /cvs/ports/lang/ruby/4.0/Makefile,v retrieving revision 1.12 diff -u -p -u -p -r1.12 Makefile --- Makefile 5 Aug 2026 00:41:53 -0000 1.12 +++ Makefile 15 Sep 2026 19:39:54 -0000 @@ -1,4 +1,4 @@ -VERSION = 4.0.6 +VERSION = 4.0.7 DISTNAME = ruby-${VERSION} PKGNAME-main = ruby-${VERSION} PKGNAME-ri_docs = ruby${BINREV}-ri_docs-${VERSION} Index: distinfo =================================================================== RCS file: /cvs/ports/lang/ruby/4.0/distinfo,v retrieving revision 1.7 diff -u -p -u -p -r1.7 distinfo --- distinfo 5 Aug 2026 00:41:53 -0000 1.7 +++ distinfo 15 Sep 2026 19:39:54 -0000 @@ -1,2 +1,2 @@ -SHA256 (ruby-4.0.6.tar.gz) = g30pno993yvjGiKaen4BnTVJeYJRF5iayzsysam+Jio= -SIZE (ruby-4.0.6.tar.gz) = 23904779 +SHA256 (ruby-4.0.7.tar.gz) = kRrOIPkNBoyg5N2m0OTw+B5S5S8t1PQATHIeJTQS6C0= +SIZE (ruby-4.0.7.tar.gz) = 23937964 Index: patches/patch-compile_c =================================================================== RCS file: /cvs/ports/lang/ruby/4.0/patches/patch-compile_c,v retrieving revision 1.4 diff -u -p -u -p -r1.4 patch-compile_c --- patches/patch-compile_c 5 Aug 2026 00:41:53 -0000 1.4 +++ patches/patch-compile_c 15 Sep 2026 19:39:54 -0000 @@ -6,7 +6,7 @@ Avoid unaligned accesses on mips64 and s Index: compile.c --- compile.c.orig +++ compile.c -@@ -3393,7 +3393,11 @@ static int +@@ -3392,7 +3392,11 @@ static int iseq_peephole_optimize(rb_iseq_t *iseq, LINK_ELEMENT *list, const int do_tailcallopt) { INSN *const iobj = (INSN *)list; @@ -18,7 +18,7 @@ Index: compile.c again: optimize_checktype(iseq, iobj); -@@ -14480,8 +14484,11 @@ static VALUE +@@ -14471,8 +14475,11 @@ static VALUE ibf_load_object_complex_rational(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset) { const struct ibf_object_complex_rational *nums = IBF_OBJBODY(struct ibf_object_complex_rational, offset); Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/lang/ruby/4.0/pkg/PLIST-main,v retrieving revision 1.7 diff -u -p -u -p -r1.7 PLIST-main --- pkg/PLIST-main 5 Aug 2026 00:41:53 -0000 1.7 +++ pkg/PLIST-main 15 Sep 2026 19:39:54 -0000 @@ -1451,10 +1451,10 @@ lib/ruby/gems/${REV}/gems/bigdecimal-4.0 lib/ruby/gems/${REV}/gems/bigdecimal-4.0.1/sample/linear.rb lib/ruby/gems/${REV}/gems/bigdecimal-4.0.1/sample/nlsolve.rb lib/ruby/gems/${REV}/gems/bigdecimal-4.0.1/sample/pi.rb -lib/ruby/gems/${REV}/gems/bundler-4.0.16/ -lib/ruby/gems/${REV}/gems/bundler-4.0.16/exe/ -lib/ruby/gems/${REV}/gems/bundler-4.0.16/exe/bundle -lib/ruby/gems/${REV}/gems/bundler-4.0.16/exe/bundler +lib/ruby/gems/${REV}/gems/bundler-4.0.20/ +lib/ruby/gems/${REV}/gems/bundler-4.0.20/exe/ +lib/ruby/gems/${REV}/gems/bundler-4.0.20/exe/bundle +lib/ruby/gems/${REV}/gems/bundler-4.0.20/exe/bundler lib/ruby/gems/${REV}/gems/csv-3.3.5/ lib/ruby/gems/${REV}/gems/csv-3.3.5/LICENSE.txt lib/ruby/gems/${REV}/gems/csv-3.3.5/NEWS.md @@ -1567,9 +1567,9 @@ lib/ruby/gems/${REV}/gems/drb-2.2.3/lib/ lib/ruby/gems/${REV}/gems/drb-2.2.3/lib/drb/version.rb lib/ruby/gems/${REV}/gems/drb-2.2.3/lib/drb/weakidconv.rb lib/ruby/gems/${REV}/gems/english-0.8.1/ -lib/ruby/gems/${REV}/gems/erb-6.0.1.1/ -lib/ruby/gems/${REV}/gems/erb-6.0.1.1/libexec/ -lib/ruby/gems/${REV}/gems/erb-6.0.1.1/libexec/erb +lib/ruby/gems/${REV}/gems/erb-6.0.7/ +lib/ruby/gems/${REV}/gems/erb-6.0.7/libexec/ +lib/ruby/gems/${REV}/gems/erb-6.0.7/libexec/erb lib/ruby/gems/${REV}/gems/error_highlight-0.7.2/ lib/ruby/gems/${REV}/gems/etc-1.4.6/ lib/ruby/gems/${REV}/gems/fcntl-1.3.0/ @@ -3112,7 +3112,7 @@ lib/ruby/gems/${REV}/gems/repl_type_comp lib/ruby/gems/${REV}/gems/repl_type_completor-0.1.12/lib/repl_type_completor/version.rb lib/ruby/gems/${REV}/gems/repl_type_completor-0.1.12/sig/ lib/ruby/gems/${REV}/gems/repl_type_completor-0.1.12/sig/repl_type_completor.rbs -lib/ruby/gems/${REV}/gems/resolv-0.7.0/ +lib/ruby/gems/${REV}/gems/resolv-0.7.2/ lib/ruby/gems/${REV}/gems/resolv-replace-0.1.1/ lib/ruby/gems/${REV}/gems/resolv-replace-0.1.1/Gemfile lib/ruby/gems/${REV}/gems/resolv-replace-0.1.1/LICENSE.txt @@ -3469,13 +3469,13 @@ lib/ruby/gems/${REV}/specifications/bigd lib/ruby/gems/${REV}/specifications/csv-3.3.5.gemspec lib/ruby/gems/${REV}/specifications/debug-1.11.1.gemspec lib/ruby/gems/${REV}/specifications/default/ -lib/ruby/gems/${REV}/specifications/default/bundler-4.0.16.gemspec +lib/ruby/gems/${REV}/specifications/default/bundler-4.0.20.gemspec lib/ruby/gems/${REV}/specifications/default/date-3.5.1.gemspec lib/ruby/gems/${REV}/specifications/default/delegate-0.6.1.gemspec lib/ruby/gems/${REV}/specifications/default/did_you_mean-2.0.0.gemspec lib/ruby/gems/${REV}/specifications/default/digest-3.2.1.gemspec lib/ruby/gems/${REV}/specifications/default/english-0.8.1.gemspec -lib/ruby/gems/${REV}/specifications/default/erb-6.0.1.1.gemspec +lib/ruby/gems/${REV}/specifications/default/erb-6.0.7.gemspec lib/ruby/gems/${REV}/specifications/default/error_highlight-0.7.2.gemspec lib/ruby/gems/${REV}/specifications/default/etc-1.4.6.gemspec lib/ruby/gems/${REV}/specifications/default/fcntl-1.3.0.gemspec @@ -3497,7 +3497,7 @@ lib/ruby/gems/${REV}/specifications/defa lib/ruby/gems/${REV}/specifications/default/prettyprint-0.2.0.gemspec lib/ruby/gems/${REV}/specifications/default/prism-1.8.1.gemspec lib/ruby/gems/${REV}/specifications/default/psych-5.3.1.gemspec -lib/ruby/gems/${REV}/specifications/default/resolv-0.7.0.gemspec +lib/ruby/gems/${REV}/specifications/default/resolv-0.7.2.gemspec lib/ruby/gems/${REV}/specifications/default/ruby2_keywords-0.0.5.gemspec lib/ruby/gems/${REV}/specifications/default/securerandom-0.4.1.gemspec lib/ruby/gems/${REV}/specifications/default/shellwords-0.2.2.gemspec Index: pkg/PLIST-ri_docs =================================================================== RCS file: /cvs/ports/lang/ruby/4.0/pkg/PLIST-ri_docs,v retrieving revision 1.5 diff -u -p -u -p -r1.5 PLIST-ri_docs --- pkg/PLIST-ri_docs 5 Aug 2026 00:41:53 -0000 1.5 +++ pkg/PLIST-ri_docs 15 Sep 2026 19:39:55 -0000 @@ -1727,6 +1727,7 @@ share/ri/${REV}/system/Gem/BasicSpecific share/ri/${REV}/system/Gem/BasicSpecification/have_extensions%3f-i.ri share/ri/${REV}/system/Gem/BasicSpecification/have_file%3f-i.ri share/ri/${REV}/system/Gem/BasicSpecification/ignored%3f-i.ri +share/ri/${REV}/system/Gem/BasicSpecification/lib_dirs-i.ri share/ri/${REV}/system/Gem/BasicSpecification/lib_dirs_glob-i.ri share/ri/${REV}/system/Gem/BasicSpecification/loaded_from-i.ri share/ri/${REV}/system/Gem/BasicSpecification/matches_for_glob-i.ri @@ -2247,6 +2248,7 @@ share/ri/${REV}/system/Gem/Ext/Builder/r share/ri/${REV}/system/Gem/Ext/Builder/run-c.ri share/ri/${REV}/system/Gem/Ext/Builder/shelljoin-c.ri share/ri/${REV}/system/Gem/Ext/Builder/shellsplit-c.ri +share/ri/${REV}/system/Gem/Ext/Builder/shellsplit_command-c.ri share/ri/${REV}/system/Gem/Ext/CargoBuilder/ share/ri/${REV}/system/Gem/Ext/CargoBuilder/DylibNotFoundError/ share/ri/${REV}/system/Gem/Ext/CargoBuilder/DylibNotFoundError/cdesc-DylibNotFoundError.ri @@ -3212,6 +3214,8 @@ share/ri/${REV}/system/Gem/SafeMarshal/R share/ri/${REV}/system/Gem/SafeMarshal/Reader/EOFError/cdesc-EOFError.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/Error/ share/ri/${REV}/system/Gem/SafeMarshal/Reader/Error/cdesc-Error.ri +share/ri/${REV}/system/Gem/SafeMarshal/Reader/LengthTooLongError/ +share/ri/${REV}/system/Gem/SafeMarshal/Reader/LengthTooLongError/cdesc-LengthTooLongError.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/NegativeLengthError/ share/ri/${REV}/system/Gem/SafeMarshal/Reader/NegativeLengthError/cdesc-NegativeLengthError.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/NotImplementedError/ @@ -3229,6 +3233,7 @@ share/ri/${REV}/system/Gem/SafeMarshal/R share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_bytes-i.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_class-i.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_class_or_module-i.ri +share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_count-i.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_data-i.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_element-i.ri share/ri/${REV}/system/Gem/SafeMarshal/Reader/read_extended_object-i.ri