Skip to content

fix(sinsp): Zero-initializes m_sockinfo in sinsp_fdinfo.#8

Merged
Stringy merged 1 commit intomasterfrom
giles/memory-corruption-fix
Mar 18, 2022
Merged

fix(sinsp): Zero-initializes m_sockinfo in sinsp_fdinfo.#8
Stringy merged 1 commit intomasterfrom
giles/memory-corruption-fix

Conversation

@Stringy
Copy link
Collaborator

@Stringy Stringy commented Mar 18, 2022

This fixes a bug where invalid results appeared in parsed fdinfos,
due to random stack values for the contents of m_sockinfo.

Signed-off-by: Giles Hutton ghutton@redhat.com

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area driver-kmod

/area driver-ebpf

/area libscap

/area libsinsp

/area tests

/area proposals

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:


This fixes a bug where invalid results appeared in parsed fdinfos,
due to random stack values for the contents of m_sockinfo.

Signed-off-by: Giles Hutton <ghutton@redhat.com>
@Stringy Stringy requested review from Molter73 and erthalion March 18, 2022 09:23
@Stringy Stringy merged commit 6416820 into master Mar 18, 2022
Stringy pushed a commit that referenced this pull request Feb 26, 2026
glibc-2.42 added __inet_ntop_chk fortification, which started to fail:

  *** buffer overflow detected ***: terminated
  Program received signal SIGABRT, Aborted.
  0x00007ffff629b0dc in __pthread_kill_implementation () from /lib64/libc.so.6
  (gdb) bt
  #0  0x00007ffff629b0dc in __pthread_kill_implementation () from /lib64/libc.so.6
  #1  0x00007ffff6242572 in raise () from /lib64/libc.so.6
  #2  0x00007ffff6229f3b in abort () from /lib64/libc.so.6
  #3  0x00007ffff622b148 in __libc_message_impl.cold () from /lib64/libc.so.6
  #4  0x00007ffff6327337 in __fortify_fail () from /lib64/libc.so.6
  #5  0x00007ffff6326c92 in __chk_fail () from /lib64/libc.so.6
  #6  0x00007ffff6327a62 in __inet_ntop_chk () from /lib64/libc.so.6
  #7  0x000055555569da3d in inet_ntop (__af=10, __src=0x555555ee0800, __dst=0x7fffffff4f90 "\260P\377\377\377\177", __dst_size=100) at /usr/include/bits/inet-fortified.h:36
  #8  ipv6tuple_to_string[abi:cxx11](ipv6tuple*, bool) (tuple=0x555555ee0800, resolve=false) at /tmp/portage/dev-debug/sysdig-0.40.1/work/libs-0.20.0/userspace/libsinsp/utils.c

Use INET6_ADDRSTRLEN as destination buffer size.

Fixes: falcosecurity/libs#2573
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants