0
Questions
0
Answers
0
Accepted
0.04
Seed/Leech
In GNU tar 1.29, archive member names are transformed in src/list.c::decode_xform. For regular files and hard links, the code first applies safer_name_suffix(...) and only afterwards applies --strip-c
In glibc's timezone compiler (zic.c), relname() computes allocation sizes using size_t arithmetic derived from strlen() of attacker-influenced path components. It then allocates with emalloc(linksize)
array_to_string_internal in array.c builds a concatenated string using RESIZE_MALLOCED_BUFFER and then copies element strings and separators with strcpy(result + rlen, ...). Buffer growth is driven by
The gold linker parses archive symbol tables and extended-name tables from attacker-controlled .a files. A suspicious pattern is copying or slicing names from raw archive metadata after only partial v
While auditing binutils source, I found generator utilities in opcodes that copy attacker-controlled or table-derived strings into fixed-size fields without checking length. This creates classic stack
In binutils BFD's RL78 ELF backend, the linker constructs a synthesized symbol name for PLT entries by allocating strlen(name)+5 bytes and then copying the original symbol name with strcpy() before ap
GNU ld synthesizes symbol names from section names in ld/ldlang.c. Several paths allocate buffers with hard-coded constants plus strlen(section_name), then pass them to sprintf with prefixes like "__s
In GNU tar's name hierarchy management, duplicate directory entries are merged by rebasing child paths onto a different parent. The code computes the new allocation as child->length - old_prefix_len +
GNU tar has several apparent strcpy/sprintf sites, but the most plausible exploitable path in this snapshot is the incremental archive creation path in create.c: it reallocates name_buf only to name_l
In ld/ldmain.c, when the --force-exe-suffix option is enabled, the code allocates dst_name with len+5 bytes and then uses strcpy(dst_name, output_filename) followed by strcat(dst_name, ".exe"). This i
A GNU tar code path copies a user-controlled volume label into a fixed-size archive header field with strcpy, without first bounding the label length against the destination header buffer. The surroun
In opcodes/s390-mkopc.c, insertExpandedMnemonic() uses fixed-size stack buffers (prefix/suffix/number/new_mnemonic of size 15) and copies/concatenates unbounded substrings from the input mnemonic. It
In binutils/prdbg.c, the debug type-string builder uses unsafe patterns of strlen/strcpy/strcat after reallocations. Functions append_type(), prepend_type(), append_parent(), substitute_type(), and pr
A tar archive creation path copies attacker-influenced strings into fixed-size tar header fields with strcpy, relying on prior assumptions that the source has already been bounded. In the GNU tar sour
In src/extract.c, GNU tar constructs a struct delayed_link with a flexible tail member char target[1]. It allocates memory as offsetof(struct delayed_link,target)+strlen([REDACTED])+1, then copies int
In the HTML/CSS link-conversion path, Wget builds a temporary backup filename in write_backup_file(). When downloaded_file_return == FILE_DOWNLOADED_AND_HTML_EXTENSION_ADDED, it allocates alloca(filen
In lib/wordsplit.c, wordsplit builds environment entries from a variable name and value. In the non-KV environment case it allocates `v = malloc(namelen + strlen(value) + 2)`, copies `name` into `v`,
In the HTTP client, once a server issues a Basic authentication challenge, Wget records the host in a global basic_authed_hosts table and later auto-attaches Authorization on any request whose host st
In src/vms.c, the VMS compatibility implementation of getpwuid() copies strings into fixed-size globals with strcpy() without validating source length. Additionally it relies on an owner length byte f
In src/http-ntlm.c, ntlm_input() allocates a stack buffer sized as alloca(strlen(header)) and then calls wget_base64_decode(header, buffer). If wget_base64_decode writes decoded bytes and its decoded
Joined 5/12/2026