OpenBSD/src icwNwb9usr.sbin/vmd virtio.c vionet.c

   spelling; ok dv@
VersionDeltaFile
1.2+5-5usr.sbin/vmd/x86_mmio.c
1.128+5-5usr.sbin/vmd/vm.c
1.148+3-3usr.sbin/vmd/virtio.c
1.33+3-3usr.sbin/vmd/vionet.c
1.9+3-3usr.sbin/vmd/sev.c
1.8+3-3usr.sbin/vmd/psp.c
+22-226 files not shown
+35-3512 files

OpenBSD/src zuBTGQSbin/pax sel_subs.c buf_subs.c

   spelling; ok ratchov@ job@
VersionDeltaFile
1.57+6-6bin/pax/tables.c
1.34+3-3bin/pax/buf_subs.c
1.30+2-2bin/pax/sel_subs.c
+11-113 files

OpenBSD/src HyuIXYHusr.bin/openssl s_server.c s_client.c

   spelling; ok tb@
VersionDeltaFile
1.65+4-4usr.bin/openssl/ca.c
1.62+2-2usr.bin/openssl/s_server.c
1.70+2-2usr.bin/openssl/s_client.c
1.73+2-2usr.bin/openssl/apps.c
+10-104 files

OpenBSD/src 9T3DHA2sys/kern kern_exec.c exec_script.c, sys/sys exec.h

   sys: avoid script pathname TOCTOU in exec

   A readable script pathname is read twice during exec: namei() copies the
   user string for vnode lookup, while exec_script_makecmds() later copies
   the same user address into the synthetic interpreter argument list. The
   preceding single_thread_set() excludes sibling threads from this window;
   a separate process sharing writable MAP_SHARED memory remains able to
   modify the pathname between reads.

   The failing sequence is:

   1. Setup: a process stores pathname A in writable MAP_SHARED memory and
      calls fork(); the parent and child retain mappings of the same VM
      object.
   2. Check: the parent calls execve(2); namei() copies pathname A and
      resolves vnode A, after which check_exec() verifies execution access
      and reads the script header.
   3. Mutation: after namei() copies A but before the script handler
      rereads the user address, the child stores pathname B through its

    [15 lines not shown]
VersionDeltaFile
1.50+4-9sys/kern/exec_script.c
1.59+2-2sys/sys/exec.h
1.272+2-2sys/kern/kern_exec.c
+8-133 files

OpenBSD/src 7EYthF9lib/libcrypto/pkcs7 pk7_lib.c

   PKCS7_stream: avoid out of bounds access

   The inner content of SignedData is represented by a PKCS7 object, which
   PKCS7_stream() assumes to be a plain data object and will thus access its
   content via an ASN1_OCTET_STRING. This need not be the case after parsing.
   In fact, the inner content type is essentially arbitrary.

   If the inner content isn't one of the explicitly supported content types,
   the fallback (via p7default_tt) will populate the union's d.other with an
   ASN1_ANY which unravels to ASN1_TYPE_new() deep in the guts of tasn_dec,
   allocating a 16-byte object on LP64 architectures. In that case, the
   16-byte object is interpreted as an 24-byte ASN1_OCTET_STRING and if it
   isn't NULL, the read+write to os->flags (a long at offset 16) is out of
   bounds: os->flags | ASN1_STRING_FLAG_NDEF;

   Add a check that the content is actually id-data before accessing the
   d.data union member.

   From Acts1631
VersionDeltaFile
1.33+5-1lib/libcrypto/pkcs7/pk7_lib.c
+5-11 files

OpenBSD/src QdLFzrOregress/lib/libcrypto/pkcs7 pkcs7test.c

   Add test case causing an OOB access in PKCS7_stream

   Test case originally from openssl/openssl#31681, exercised via a direct
   call to PKCS7_stream() as in a report from Acts1631.
   To be fixed in pk7_lib.c r1.33
VersionDeltaFile
1.8+61-1regress/lib/libcrypto/pkcs7/pkcs7test.c
+61-11 files

OpenBSD/src CX6O7eHlib/libcrypto/pkcs7 pk7_lib.c

   PKCS7_stream: don't crash on omitted content

   Do not access the PKCS7 content union without checking that it's actually
   populated. Add NULL checks and fail. Whether that's the correct thing
   to do is dubious, but since this has been broken since the "code" was
   written a quarter century ago, clearly nobody ever wanted to do that.
   Match OpenSSL behavior which also means more NULL checks than strictly
   make sense.

   CMS_stream() has very similar code, but it's not problematic in this
   particular way because the content isn't OPTIONAL.

   Part of a diff from Acts1631
VersionDeltaFile
1.32+15-1lib/libcrypto/pkcs7/pk7_lib.c
+15-11 files

OpenBSD/src fl9oTSzregress/lib/libcrypto/pkcs7 pkcs7test.c

   "Stream" valid PKCS7 objects with omitted content

   The PKCS#7 standard marks the content element of the ContentInfo OPTIONAL.
   Accordingly, a PKCS#7 object only containing a Content Type OID is valid:

     SEQUENCE {
       OBJECT_IDENTIFIER { 1.2.840.113549.1.7.4 }
     }

   Deserializing such an object works and therefore streaming should at least
   have the decency of not segfaulting. Of course there's nothing decent about
   PKCS#7 be it the standard or its OpenSSL "implementation".

   Exercises a problem reported by Acts1361 and currently crashes.
   To be fixed in pk7_lib.c r1.32.
VersionDeltaFile
1.7+104-4regress/lib/libcrypto/pkcs7/pkcs7test.c
+104-41 files

OpenBSD/src G2RmDFklib/libcrypto/objects obj_mac.num

   NID_communityDefinition, not NID_id_ad_communityDefinition
VersionDeltaFile
1.41+1-1lib/libcrypto/objects/obj_mac.num
+1-11 files

OpenBSD/src GsDoqqRsys/kern kern_pledge.c

   mention that specific files opened by __pledge_open() are only opened
   by specific libc functions (with symbol visibility helping us). these fd
   are marked UF_PLEDGEOPEN, and the kernel prohibits various operations
   on them (basically we are trying to prevent threads from playing with them)
VersionDeltaFile
1.362+5-1sys/kern/kern_pledge.c
+5-11 files

OpenBSD/src XacLq9Yshare/man/man5 port-modules.5

   New variables for Tcl 8/9 ports.

   ok sthen@
VersionDeltaFile
1.290+10-2share/man/man5/port-modules.5
+10-21 files

OpenBSD/src PRfIWkPusr.bin/sndioctl sndioctl.c

   sndioctl: Use everywhere the same type (unsigned int) to store the mode
VersionDeltaFile
1.26+5-5usr.bin/sndioctl/sndioctl.c
+5-51 files

OpenBSD/src htCFRr1usr.bin/sndiod siofile.c

   sndiod: Drop dead-code and slightly simplify dev_sio_open()
VersionDeltaFile
1.32+9-12usr.bin/sndiod/siofile.c
+9-121 files

OpenBSD/src Jc6orqMsys/kern exec_script.c exec_elf.c, sys/sys exec_elf.h exec.h

   In execve(2), attempt to create a realpath buffer for the executable
   and place the resulting string on the stack as an auxval.  The two
   main reasons why the attempt can fail are if the program is started
   inside an unlinked directory or if the buffer exceeds PATH_MAX.  libc
   will be able to find this auxval and provide it in an uncoming
   getexecpath(3) API.
   ok kettenis beck kirill
VersionDeltaFile
1.271+75-16sys/kern/kern_exec.c
1.202+5-1sys/kern/exec_elf.c
1.49+2-3sys/kern/exec_script.c
1.109+3-2sys/sys/exec_elf.h
1.58+3-2sys/sys/exec.h
+88-245 files

OpenBSD/src ltU54sOusr.bin/sndiod sock.c

   sndiod: Make sure MODE_{PLAY,REC} aren't used on a MIDI port
VersionDeltaFile
1.71+5-1usr.bin/sndiod/sock.c
+5-11 files

OpenBSD/src IJw2ff4share/man/man5 port-modules.5

   Document cargo builds with the devel/meson MODULE.

   thanks schwarze@ for the mandoc fixes.
VersionDeltaFile
1.289+20-2share/man/man5/port-modules.5
+20-21 files

OpenBSD/src XaT7i02usr.bin/mandoc cgi.c

   Further improve error handling, in particular
   provide a non-zero EXIT STATUS in some error cases
   and properly close HTML output after open(2) failure.
VersionDeltaFile
1.123+49-40usr.bin/mandoc/cgi.c
+49-401 files

OpenBSD/src HAksiXTusr.sbin/snmpd ax.c

   Unkown -> Unknown
VersionDeltaFile
1.10+2-2usr.sbin/snmpd/ax.c
+2-21 files

OpenBSD/src RX2ho7Lusr.sbin/snmpd application.c

   unregiser -> unregister
VersionDeltaFile
1.45+2-2usr.sbin/snmpd/application.c
+2-21 files

OpenBSD/src kV1JJh1usr.sbin/smtpd lka_filter.c

   reponse -> response
VersionDeltaFile
1.82+2-2usr.sbin/smtpd/lka_filter.c
+2-21 files

OpenBSD/src MY7Dubrusr.sbin/ospfctl ospfctl.c

   faied -> failed
VersionDeltaFile
1.76+3-3usr.sbin/ospfctl/ospfctl.c
+3-31 files

OpenBSD/src hGcFI2Uusr.bin/mg word.c

   tranpose -> transpose
VersionDeltaFile
1.24+2-2usr.bin/mg/word.c
+2-21 files

OpenBSD/src 88pnWLrusr.bin/htpasswd htpasswd.c

   bcryt -> bcrypt
VersionDeltaFile
1.20+2-2usr.bin/htpasswd/htpasswd.c
+2-21 files

OpenBSD/src RIwq3gmsbin/pfctl pfctl.c

   ambigious -> ambiguous
VersionDeltaFile
1.406+2-2sbin/pfctl/pfctl.c
+2-21 files

OpenBSD/src 99071WAlib/libssl d1_lib.c

   libssl: avoid narrowing return value in dtls1_ctrl

   dtls1_ctrl() and ssl3_ctrl() return long, but the intermediate return
   value was stored in an int. Use long to avoid truncating values returned
   by ssl3_ctrl().

   CID 497395

   From Yuji Hashimoto

   ok tb jsing
VersionDeltaFile
1.67+2-2lib/libssl/d1_lib.c
+2-21 files

OpenBSD/src duJIUU2lib/libcrypto crypto_ex_data.c, lib/libcrypto/man CRYPTO_set_ex_data.3 OPENSSL_init_crypto.3

   Make CRYPTO_cleanup_all_ex_data() a compatibility no-op

   The ex_data callback registry is process-wide, but this API could free
   it while other threads were still using libcrypto, resulting in a
   use-after-free.

   Retain the public symbol as a compatibility no-op and mark it
   deprecated. Move the actual cleanup to an internal function called by
   OPENSSL_cleanup(). Replace the in-tree callers with OPENSSL_cleanup()
   at final shutdown to preserve cleanup behavior and coverage.

   Document both APIs and the requirement that OPENSSL_cleanup() only be
   called after all threads and components have stopped using libcrypto.

   ok tb
VersionDeltaFile
1.8+30-5lib/libcrypto/man/OPENSSL_init_crypto.3
1.18+24-3lib/libcrypto/man/CRYPTO_set_ex_data.3
1.7+13-2lib/libcrypto/crypto_ex_data.c
1.42+4-5usr.bin/openssl/openssl.c
1.46+3-5regress/lib/libssl/ssl/ssltest.c
1.12+3-4regress/lib/libcrypto/dsa/dsatest.c
+77-248 files not shown
+93-4714 files

OpenBSD/src YtiaUvQusr.bin/mandoc cgi.c

   Delay starting HTML output until we are sure that we have some data
   to offer to the user, either from a manual page file that can actually
   be opened or at least a list of links to pages matching the user's query.

   When no information whatsoever can be accessed, always return
   HTTP 400 Bad Request (e.g. for an unsupported, nonexistent, or unreadable
   path or an invalid architecture) or HTTP 500 Internal Server Error (e.g.
   for a system call failure, an inaccessible or invalid configuration file,
   an inaccessible directory, or a corrupt database).

   This also prepares for pledge(2)/unveil(2) improvements by making it
   possible to invoke these system calls after open(2)ing the chosen
   manual page file.
VersionDeltaFile
1.122+55-44usr.bin/mandoc/cgi.c
+55-441 files

OpenBSD/src OFFzzjCsys/dev/wscons wsemul_vt100var.h wsemul_sun.c

   Clamp numeric arguments of terminal escape sequences to an arbitrary value of
   100,000. The existing logic would happily process as many digits as provided,
   which could make the values wraparound at 2**32, or be considered as negative
   values if cast to a signed type, leading to incorrect processing.

   Bug report by Acts1631.
VersionDeltaFile
1.49+28-6sys/dev/wscons/wsemul_vt100.c
1.38+17-4sys/dev/wscons/wsemul_sun.c
1.15+4-2sys/dev/wscons/wsemul_vt100var.h
+49-123 files

OpenBSD/src KFwAPfUsbin/ifconfig brconfig.c

   whitespace fixes, no functional change
VersionDeltaFile
1.47+3-3sbin/ifconfig/brconfig.c
+3-31 files

OpenBSD/src mmz1UBysbin/ifconfig brconfig.c

   collapse ranges of community ids when printing pvlan info.

   mostly borrowed from the code that collapses ranges of vids when
   printing the allowed vlan tags on ports.
VersionDeltaFile
1.46+19-5sbin/ifconfig/brconfig.c
+19-51 files