Linux DTrace development list
 help / color / mirror / Atom feed
* [oracle/dtrace] c49fb3: dtprobed: reject oversized DOF consistently
@ 2026-09-11  1:23 Kris Van Hees
  0 siblings, 0 replies; only message in thread
From: Kris Van Hees @ 2026-09-11  1:23 UTC (permalink / raw)
  To: dtrace

  Branch: refs/heads/dev-queue
  Home:   https://github.com/oracle/dtrace
  Commit: c49fb3015d8128a51b76879e3424c05be1430ba9
      https://github.com/oracle/dtrace/commit/c49fb3015d8128a51b76879e3424c05be1430ba9
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M dtprobed/dtprobed.c
    M libcommon/usdt_parser.c
    M libcommon/usdt_parser.h

  Log Message:
  -----------
  dtprobed: reject oversized DOF consistently

The dtprobed ioctl handler warned when helper DOF exceeded the parser
limit, but still attempted to allocate and copy it.  Share DOF_MAXSZ with
the parser and fail the ioctl when dofh_loadsz is too large, so both paths
enforce the same 256MB limit.

Orabug: 39351859
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Elena Zannoni <elena.zannoni@oracle.com>


  Commit: 3b277fa0f00e91bee974e5467e56c4f31b0045e4
      https://github.com/oracle/dtrace/commit/3b277fa0f00e91bee974e5467e56c4f31b0045e4
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M include/dtrace/pid.h
    M libcommon/usdt_parser.h
    M libcommon/usdt_parser_dof.c
    M libcommon/usdt_parser_notes.c
    M libdtrace/dt_pid.c

  Log Message:
  -----------
  usdt_parser: harden DOF and note bounds checks

Validate DOF section metadata before use, require ELF note strings to
terminate within their declared payloads, and check parsed DOF record
sizes before DTrace consumes them.  This keeps malformed parser input
or stash data from driving out-of-bounds reads in either the parser or
the host.

Orabug: 39352038
Orabug: 39352051
Orabug: 39351967
CVE: CVE-2026-46831
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>


  Commit: bad46118485ef4340f729dff49c3743910c5a488
      https://github.com/oracle/dtrace/commit/bad46118485ef4340f729dff49c3743910c5a488
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M dtprobed/dtprobed.c
    M libcommon/usdt_parser.c
    M libcommon/usdt_parser.h
    M libcommon/usdt_parser_host.c

  Log Message:
  -----------
  usdt_parser: fix parser pipe I/O error handling

Use ssize_t for read() and write() return values, return negative errno
from usdt_parser_write_one() to match its callers, and cap the reply
size advertised by the jailed parser before allocating host memory.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>


  Commit: 223c7707f651fe7efe00bd47631f412988b26fd0
      https://github.com/oracle/dtrace/commit/223c7707f651fe7efe00bd47631f412988b26fd0
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M dtprobed/dof_stash.c
    M dtprobed/dof_stash.h
    M dtprobed/dtprobed.c

  Log Message:
  -----------
  dtprobed: harden helper ioctl validation

Reject unterminated fixed-size module names and module names that would
be unsafe as pathname components before using helper data.  Reuse the same
component-safety predicate used when composing probe specs, and handle
userdata allocation failure before dereferencing it.

Orabug: 39374493
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>


  Commit: dd64a2a8cc1597d94ee5d4d1e0bdb5c8b2ca7477
      https://github.com/oracle/dtrace/commit/dd64a2a8cc1597d94ee5d4d1e0bdb5c8b2ca7477
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M dtprobed/dof_stash.c

  Log Message:
  -----------
  dtprobed: fix dof_stash resource cleanup

Close descriptors and release parsed buffers on every path when scanning
and reparsing the DOF stash.  Treat any non-negative openat() return as
success, clean up exec-mapping and raw-data reads through common error
paths, and avoid leaking mapping descriptors when reparsing can be
skipped.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>


  Commit: ae60f39af6e63198c21772281323004bbfa8e2cc
      https://github.com/oracle/dtrace/commit/ae60f39af6e63198c21772281323004bbfa8e2cc
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M dtprobed/dof_stash.c

  Log Message:
  -----------
  dtprobed: fix dof_stash write failure handling

Use ssize_t for write() results, retry interrupted writes without treating
the negative length as progress, and unwind through the provider-close
path if writing parsed DOF fails.  Replace the no-op assert(1) in the
corrupt-state path with abort().

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>


  Commit: 1e4146880d7c2a6bf272e247eb9275a9f1fe0a38
      https://github.com/oracle/dtrace/commit/1e4146880d7c2a6bf272e247eb9275a9f1fe0a38
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A dists/Build
    A dists/debian/changelog
    A dists/debian/control
    A dists/debian/copyright
    A dists/debian/dtrace-tests.install
    A dists/debian/dtrace-tests.lintian-overrides
    A dists/debian/dtrace.docs
    A dists/debian/dtrace.install
    A dists/debian/dtrace.lintian-overrides
    A dists/debian/dtrace.manpages
    A dists/debian/libdtrace2-dev.install
    A dists/debian/libdtrace2.install
    A dists/debian/libdtrace2.lintian-overrides
    A dists/debian/libdtrace2.manpages
    A dists/debian/mkChangelog
    A dists/debian/patches/debian-configure.patch
    A dists/debian/patches/debian-fix-sed-path.patch
    A dists/debian/patches/series
    A dists/debian/rules
    A dists/debian/source/format

  Log Message:
  -----------
  Add packaging configuration for Debian

Packaging configuration files for Debian are provided in dists/debian.

Sample steps to build DEB packages:

 - make dist
 - cp dtrace-x.y.z.tar.bz2 $D/dtrace_x.y.z.orig.tar.bz2
 - cd $D
 - tar -jxpSf dtrace_x.y.z.orig.tar.bz2
 - cd dtrace-x.y.z
 - make prep-debian
 - debuild

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Elena Zannoni <elena.zannoni@oracle.com>


  Commit: 02f587384320e4d28c6c2fd460d77a1645a4974c
      https://github.com/oracle/dtrace/commit/02f587384320e4d28c6c2fd460d77a1645a4974c
  Author: Kris Van Hees <kris.van.hees@oracle.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M dists/debian/changelog
    M dists/debian/control
    A dists/debian/patches/debian-static-linking.patch
    A dists/debian/patches/debian-surpress-utsname-in-note.patch
    M dists/debian/patches/series

  Log Message:
  -----------
  debian: add distribution specific patches

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Reviewed-by: Elena Zannoni <elena.zannoni@oracle.com>


Compare: https://github.com/oracle/dtrace/compare/9ca231baa8b7...02f587384320

To unsubscribe from these emails, change your notification settings at https://github.com/oracle/dtrace/settings/notifications

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-11  1:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-11  1:23 [oracle/dtrace] c49fb3: dtprobed: reject oversized DOF consistently Kris Van Hees

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox