e509bb87e9
src/stub: flush datacache before msync
2025-04-29 17:44:47 +02:00
5cec09966e
submodules: update for new versions
2025-04-22 15:44:29 +02:00
b5789fb321
src: minor cleanups
2025-04-21 14:04:27 +02:00
a1b0fd987f
CI updates
2025-04-20 15:46:19 +02:00
a468b92e3a
PowerPC Psync flush datacache before msync
2025-04-20 15:06:58 +02:00
ddf0b50c6d
PowerPC Psync flush datacache before msync
...
https://github.com/upx/upx/issues/907
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64-linux.elf-fold.S
2025-04-20 14:55:06 +02:00
3af2b21869
CI updates
2025-04-11 09:41:08 +02:00
c4bfebeceb
CI updates
2025-04-10 20:04:34 +02:00
d23484b9db
CI updates
2025-04-09 11:32:13 +02:00
071579b5b6
Cleanup after broken tools
...
zig/powerpc64le/musl newly undefined openat64; adjacent literal strings
in C source were not concatenated; comment introduced by double slash
did not ignore backslash in rest of line
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64-linux.elf-entry.S
modified: stub/src/powerpc64-linux.elf-fold.S
modified: stub/src/upxfd_linux.c
2025-03-21 13:25:02 -07:00
ff9d577e46
O_DIRECTORY is architecture-dependent
...
https://github.com/upx/upx/issues/902
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/powerpc64-linux.elf-fold.S
modified: stub/src/upxfd_android.c
modified: stub/src/upxfd_linux.c
plus generated .h .map .dump
2025-03-21 10:54:27 -07:00
a25c20ee0b
M_LZMA with hi parameter bytes confused --ultra-brute
...
https://github.com/upx/upx/issues/900
modified: packhead.cpp
modified: p_lx_elf.cpp
2025-03-20 09:48:00 -07:00
ff75a462a4
Fighting over .e_shentsize
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
2025-03-18 13:48:19 -07:00
e0b6ff1924
More checking in unpack()
...
https://github.com/upx/upx/issues/898
modified: p_lx_elf.cpp
2025-03-18 08:40:08 -07:00
1c5fae74e0
Fix recovery of readlink() when /proc/self/exe is missing
...
https://github.com/upx/upx/issues/897
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/arm.v4a-linux.elf-fold.S
plus generated .h
2025-03-16 12:37:57 -07:00
6f650ca16f
mips memfd_create() and syscall error handling
...
https://github.com/upx/upx/issues/895
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
plus generated .h .dump .map
2025-03-13 08:07:26 -07:00
c2da21ba4e
CI updates
2025-03-05 12:13:21 +01:00
903ca50391
Workaround valgrind-3.24.0 botch of 'notrack' on i386
...
https://github.com/upx/upx/issues/890
modified: stub/src/i386-linux.elf-fold.S
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus generated .h .map
2025-03-02 14:30:50 -08:00
70f1ab8cb7
Nice message for ancient Linux lacking memfd_create
...
... or O_TMPFILE for recovery using /dev/shm
https://github.com/upx/upx/issues/889
modified: stub/src/upxfd_linux.c
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus generated .h .map .dump
2025-03-02 11:46:17 -08:00
6998449715
Remove inline syscalls from MIPS stubs
...
They were a maintenance headache, especially for error handling.
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-main2.c
modified: stub/src/include/linux.h
modified: stub/src/mips.r3000-expand.S
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/upxfd_android.c
2025-03-02 11:32:49 -08:00
fb0f6c6a00
Escape hatch needs 'notrack' to enter
...
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/i386-linux.elf-fold.S
2025-03-02 11:22:05 -08:00
dbde75028c
Avoid corrupted P_hdr
...
https://issues.oss-fuzz.com/u/1/issues/398127991
modified: p_lx_elf.cpp
2025-03-02 11:12:08 -08:00
90d86ea59e
Prevent leak even if corrupted input
...
https://issues.oss-fuzz.com/u/1/issues/42531955
modified: pefile.cpp
2025-02-27 17:10:52 -08:00
64891286ba
Unpack: better checking of bounds for DT_HASH
...
https://issues.oss-fuzz.com/u/1/issues/398075916
modified: p_lx_elf.cpp
2025-02-22 07:55:14 -08:00
e52a3ceb48
Unpack: Entire ElfXX_Ehdr must be present in de-compressed Ehdr+Phdrs
...
https://issues.oss-fuzz.com/u/1/issues/397728078
(previous commit: https://issues.oss-fuzz.com/u/1/issues/397500915 )
modified: p_lx_elf.cpp
2025-02-22 07:55:14 -08:00
8cce9cf641
Detect bad b_info.method
...
https://issues.oss-fuzz.com/u/1/issues?q=upx
modified: p_lx_elf.cpp
modified: p_unix.cpp
modified: packhead.cpp
modified: packhead.h
2025-02-22 07:55:14 -08:00
896dff9619
src/check: some toolchains are buggy
2025-02-22 06:43:28 +01:00
84a0347df1
testsuite: update checksums caused by version bump
2025-02-21 00:12:41 +01:00
fc5e44f391
all: post-release version bump
2025-02-20 23:56:24 +01:00
8bf49aa4f2
all: prepare for release
v5.0.0
2025-02-20 16:02:44 +01:00
b8079bb6eb
CI updates
2025-02-19 16:45:44 +01:00
5dcad7a387
Mention ELF work
...
modified: NEWS
2025-02-18 08:26:30 -08:00
83e5f74b3d
Compiler different type checking
...
modified: p_lx_elf.cpp
2025-02-17 09:39:55 -08:00
3d402134f5
Better checking of DT_GNU_HASH during de-compression
...
https://issues.oss-fuzz.com/u/1/issues/396167884
modified: p_lx_elf.cpp
2025-02-17 09:14:19 -08:00
b8b64a3e0f
Fuzz nuisance: wild p_info for de-compression
...
https://issues.oss-fuzz.com/u/1/issues/383200048
modified: p_lx_elf.cpp
2025-02-17 08:26:17 -08:00
c0bf7bf9ab
Old powerpc* kernels lack MFD_EXEC
...
For example: Debian 3.16.43-2+deb8u5 (2017-09-19)
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/Makefile
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64-linux.elf-entry.S
modified: stub/src/powerpc64-linux.elf-fold.S
plus generated .h, .dump, .map
2025-02-16 15:33:58 -08:00
0144f81c28
Cleanup stub for arm64 shared library
...
modified: stub/arm64-linux.elf-so_entry.h
modified: stub/src/arm64-linux.elf-so_entry.S
2025-02-16 08:41:50 -08:00
78f4959521
Fix de-compression of ELF shared libraries
...
Reset ph.method on each b_info.b_method.
Use file_image[] as ReadOnly, subsuming fi->seek()+read().
Use lowmem[0, +xct_off) for changing values.
Work on un_DT_INIT().
https://github.com/upx/upx/issues/882
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_unix.cpp
2025-02-15 19:35:21 -08:00
eff1ef2d70
Fix amd64 shared libraries
...
Inspired by https://github.com/upx/upx/issues/880
(https://github.com/microsoft/mimalloc.git on Linux)
but still need test case.
modified: p_lx_elf.cpp
modified: stub/amd64-linux.elf-so_entry.h
modified: stub/src/amd64-linux.elf-so_entry.S
2025-02-13 17:22:37 -08:00
782b07c752
PPC64 check ehdri.e_ident[EI_DATA], not elfout
...
modified: p_lx_elf.cpp
2025-02-12 08:56:18 -08:00
bd67677389
Honor dos_header_t.e_cparhdr for small header
...
... and cleanup PackDjgpp2::readFileHeader()
https://github.com/upx/upx/issues/881
modified: p_djgpp2.cpp
modified: p_djgpp2.h
2025-02-11 10:29:53 -08:00
8c9e04daaf
Propagate .e_ident[EI_ABIVERSION]
...
Linux on bare metal (and explicit qemu) seems not to care,
but qemu-user-binfmt gives ENOEXEC (Exec format error)
https://github.com/upx/upx/issues/876
2025-02-07 19:24:46 -08:00
bddc05e787
Fix elf_lookup() defenses against fuzzed DT_HASH
...
modified: p_lx_elf.cpp
2025-02-01 13:22:26 -08:00
a49d023bd0
Detect too-short Mach_command, also be careful in recovery
...
fuzzing from leon.weiss AT @ruhr-uni-bochum.de
https://github.com/upx/upx/issues/875
https://github.com/upx/upx/issues/874
modified: p_mach.cpp
2025-01-31 11:34:48 -08:00
7b06ba0b78
Detect empty DT_STRTAB
...
https://github.com/upx/upx/issues/872
fuzzing from leon.weiss AT @ruhr-uni-bochum.de
modified: p_lx_elf.cpp
2025-01-31 11:32:48 -08:00
344b73dab0
invert_pt_dynamic defends against missing DT_STRTAB or DT_STRSIZ
...
https://github.com/upx/upx/issues/872
fuzzing from leon.weiss AT @ruhr-uni-bochum.de
modified: p_lx_elf.cpp
2025-01-30 11:42:09 -08:00
0870514194
elf_lookup must defend against bad chain in hash table
...
https://github.com/upx/upx/issues/871
fuzzing from leon.weiss AT @ruhr-uni-bochum.de
2025-01-30 10:56:45 -08:00
0a61ffea3a
submodules: update for new versions
2025-01-30 00:05:15 +01:00
fbc650791d
CI updates
2025-01-29 22:19:21 +01:00
4b41aa1226
CI updates
2025-01-29 16:11:03 +01:00