Commit Graph

10662 Commits

Author SHA1 Message Date
Sashan ea8a857a61
- add sashan@openssl.org to openssl project at oss-fuzz (#12117) 2024-06-25 19:10:17 -04:00
Evan Miller 3590c4884e
libxls: Update build.sh (#12123)
The `bootstrap` script has been moved to `autogen.sh`


c1efc44e09
2024-06-25 19:09:32 -04:00
maflcko d63f82f8e2
rnp: Use latest builder (#12122)
Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-25 19:09:17 -04:00
Vincent Rabaud 2749e62707
libavif: restrict fuzzers to libfuzzer (#12112)
This is because tests will be fully migrated to fuzztest
2024-06-25 23:36:07 +01:00
correctmost 1e4a0468c3
librsvg: bump libxml2 to 2.13.1 (#12115)
This bump fixes the leak reported in OSS-Fuzz issue 69700.

Previously, libxml2 2.12.6 was being pulled in as a subproject of
Fontconfig (via Cairo).
2024-06-25 23:34:52 +01:00
Kacper Michajłow 3e4bdfd900
mpv: add introspector exclusion config and make build smaller (#12119)
Doesn't affect final binaries as they wouldn't link not needed objects,
but we can make the build skip some not needed targets that would
otherwise be build by meson.
2024-06-25 23:33:46 +01:00
tsdgeos abb96ca897
Update karchive to use KF6 and Qt6 (#12120)
Co-authored-by: sithlord48 <sithlord48@gmail.com>
2024-06-25 23:33:00 +01:00
Alex Crichton 3b9936f940
Update default Rust to nightly-2024-02-12 (#12075)
This commit updates the default version of Rust installed for fuzzing to
the last nightly of Rust that used LLVM 17. The next version uses LLVM
18.1.7 which is incompatible with the fuzz infrastructure's own LLVM
which is currently 18.0.0. This is intended to update the Rust toolchain
as far as possible without causing coverage incompatibilities.

This additionally updates a few pinned projects to all use this nightly
as well. Furthermore the containers are now configured to by-default
ignore `rust-toolchain` and `rust-toolchain.toml` files which will force
this particular toolchain to be used.
2024-06-21 08:30:09 -04:00
maflcko 4f4f145b90
kimageformats: Use latest builder (#12097)
Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-21 08:29:50 -04:00
maflcko 4d79833071
libavif: Remove outdated comment about base-builder (#12108)
Fixed yesterday
2024-06-20 18:45:23 -04:00
jvaclav-rh 601d8ebc56
add NetworkManager to oss-fuzz projects (#12105) 2024-06-20 10:34:47 -04:00
Kacper Michajłow 4cd08d1d94
mpv: reduce the build size a little (#12102)
An attempt to fix two issues:
- sporadic `No space left on device` during build check
- `/usr/local/bin/compile: line 333: 11681 Killed python3
/fuzz-introspector/src/main.py report $REPORT_ARGS`

Disabling FFmpeg filters is unfortunate, as it reduces coverage of
filtering code, but lets focus on stabilizing the core code first.

Introspector fail is likely an OOM error, not sure if this commit will
help with it.

Generally mpv is not that big project, so those failures are not
expected, but lets try to workaround the limitations.
2024-06-20 10:31:26 -04:00
Vincent Rabaud 233b0206fc
libwebp: restrict fuzzers to libfuzzer (#12106)
This is because tests have been migrated to fuzztest
2024-06-20 10:31:14 -04:00
Sergey Poznyakoff b973c3b335
gdbm: use autoconf 2.71 (#12107) 2024-06-20 10:30:58 -04:00
maflcko 8c1e39f15e
knot-dns: Use latest builder (#12095)
Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-19 18:13:26 -04:00
Vincent Rabaud 9c24659989
libavif: unpin base builder (#12101)
Fixed by
3dee1bb261
Fixes https://github.com/AOMediaCodec/libavif/issues/2207
2024-06-19 18:23:49 +01:00
Renáta Hodován edd945f975
QuickJS: Switch to a corpus optimized for fuzzing (#12099)
The original corpus of QuickJS consisted of a few large files that were
too complex; some contained benchmarks, others had tests spread across
multiple files or were scattered with assertions. The new corpus was
created by breaking down and transforming these tests into smaller,
fuzzing-optimized pieces.
2024-06-19 09:40:22 -04:00
Gavin D. Howard a7c16d818a
bc-gh: Add Dockerfile and build.sh (#12098)
I set `disabled` to true because LeakSanitizer claims the fuzzers have
leaks. However, this is not true because bc and dc run without leaks
under Valgrind.

After some debugging, I can cause them to free the memory by putting an
`assert(false);` after all of the frees [1] [2], and it trips. But if I
remove it, LeakSanitizer sees leaks.

Whether it's PEBKAC (probably) or miscompilation (unlikely), I don't
know, but I figured I'd commit the necessary stuff for the project.

I'll try to figure out the problem later.

[1]: https://github.com/gavinhoward/bc/blob/master/src/bc_fuzzer.c#L110
[2]: https://github.com/gavinhoward/bc/blob/master/src/dc_fuzzer.c#L110

Signed-off-by: Gavin D. Howard <gavin@gavinhoward.com>
2024-06-19 09:38:53 -04:00
Emmanuel Bourg 5443b8c056
jsign: Build the jsign-crypto module (#12100) 2024-06-19 09:36:54 -04:00
maflcko f06c2b532c
infra: [NFC] Consolidate LLVM_REVISION and OUR_LLVM_REVISION (#12083)
clang/llvm are only bumped on a manual basis, due to requiring a full
infra build. Thus, remove the code to support the rolling chromium
nightly clang.

Also, extend the docs around `CMAKE_VERSION`. The removal of the docs
around `FORCE_OUR_REVISION` also remove the mention of
https://github.com/google/oss-fuzz/issues/7273, so this also fixes
https://github.com/google/oss-fuzz/issues/7273.

Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-18 14:42:28 -04:00
maflcko 2c03690aa3
hdf5: Use latest builder / Temp disable afl (#12091)
Work around:

```
+ /src/aflplusplus/afl-clang-fast++ -O1 -fno-omit-frame-pointer -gline-tables-only -Wno-error=enum-constexpr-conversion -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion -Wno-error=deprecated-declarations -Wno-error=implicit-function-declaration -Wno-error=implicit-int -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -stdlib=libc++ /usr/lib/libFuzzingEngine.a h5_read_fuzzer.o ./build-dir/bin/libhdf5.a -lz -o /out/h5_read_fuzzer
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
./build-dir/bin/libhdf5.a(H5Tconv_integer.c.o): in function `H5T__conv_schar__Float16':
H5Tconv_integer.c:(.text.H5T__conv_schar__Float16[H5T__conv_schar__Float16]+0xe77): undefined reference to `__truncsfhf2'
/usr/bin/ld: H5Tconv_integer.c:(.text.H5T__conv_schar__Float16[H5T__conv_schar__Float16]+0xf9a): undefined reference to `__truncsfhf2'
/usr/bin/ld: H5Tconv_integer.c:(.text.H5T__conv_schar__Float16[H5T__conv_schar__Float16]+0x117d): undefined reference to `__truncsfhf2'
/usr/bin/ld: H5Tconv_integer.c:(.text.H5T__conv_schar__Float16[H5T__conv_schar__Float16]+0x121d): undefined reference to `__truncsfhf2'
/usr/bin/ld: H5Tconv_integer.c:(.text.H5T__conv_schar__Float16[H5T__conv_schar__Float16]+0x12dc): undefined reference to `__truncsfhf2'
/usr/bin/ld: ./build-dir/bin/libhdf5.a(H5Tconv_integer.c.o):H5Tconv_integer.c:(.text.H5T__conv_schar__Float16[H5T__conv_schar__Float16]+0x137d): more undefined references to `__truncsfhf2' follow

Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-18 10:03:30 -04:00
Raphael Isemann 85bf839647
[cairo] Use meson 1.3 to fix build (#12088)
The build currently fails with the following error:

```
+ meson setup --prefix=/work/prefix --libdir=lib --default-library=static _builddir
The Meson build system
Version: 1.2.0
Source dir: /src/cairo
Build dir: /src/cairo/_builddir
Build type: native build

meson.build:2:17: ERROR: Meson version is 1.2.0 but project requires >= 1.3.0

A full log can be found at /src/cairo/_builddir/meson-logs/meson-log.txt
```
2024-06-18 12:48:47 +00:00
Kacper Michajłow cd891dd0c8
mpv: fix introspector build (#12081)
Workarounds the issue where compile tests would fail with
`-Werror=ignored-optimization-argument` because Meson doesn't allow
linker flags in `CFLAGS` or `CXXFLAGS`.

See:
https://github.com/mesonbuild/meson/issues/6377#issuecomment-575977919

Thanks to @evverx for the idea:
https://github.com/google/oss-fuzz/pull/7583#issuecomment-1104011067

This is a fragile workaround, but it looks like there isn't much else we
can do.
2024-06-18 08:41:34 -04:00
maflcko 1a05a47aa1
freeimage: Use latest builder (#12090)
Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-18 12:39:06 +00:00
maflcko 29a4d51adc
msquic: Use latest OSS-Fuzz cmake (#12082)
OSS-Fuzz already ships with a more recent cmake, so skip installing a
prior version in the msquic project.

This speeds up the build and reduces the storage needs. Also, future
clang compiler bumps may be smoother.

Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-18 08:38:19 -04:00
manunio 630513b11c
askama: update build (#12084)
This pr updates build logic to match upstream refactor.
2024-06-18 13:33:40 +01:00
jonathanmetzman deef8c5e4c
POC: Speed up compilation by freezing container during compilation. (#11940)
Instead of rebuilding the entire project every time we want to compile a
single fuzz target, a better workflow is to build the project once and
somehow compile the target against the already compiled project code.
This POC does that by interrupting building in when it detects it is
compiling the fuzz target.
On detection it does the following:
1. Writes the command to /out/statefile TODO: write the cwd.
2. Commits the current container as "frozen" for use later. TODO: make
this changeable.
3. Returns 1 so compilation stops. TODO: It would be better to exit the
container.
This step may be important to prevent clean up of the environment.

Then the frozen container can be used to compile fuzz targets against
the project without recompiling the project in its entirety.

TODO:
1. Support this in oss-fuzz-gen
2. Install docker command line tool in base-builder (or use sneaky
inheritance) because it must be used within the container.
3. Automate the compilation of the new fuzz target
2024-06-17 21:06:12 -04:00
Arjun bd6578cae1
[unit] move build upstream and update auto_ccs (#12002)
https://github.com/nginx/unit/pull/1291 is merged.

Adding Andrew Clayton in `auto_ccs`
https://github.com/nginx/unit/pull/1291#issuecomment-2141229341.
Also, updating my contact email.

Signed-off-by: Arjun <pkillarjun@protonmail.com>
2024-06-17 17:32:15 -04:00
maflcko 05782b85bc
wasmtime: Fix build (#12076)
Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
2024-06-17 16:19:13 -04:00
Evgeny Vereshchagin aa07248ade
[scapy] build it more often (#12074)
to let the latest builds be more or less in sync with the upstream
repository. It should help CIFuzz to detect known issues better among
other things.
2024-06-17 16:18:52 -04:00
Gavin D. Howard f3097c5250
Add Gavin Howard's bc/dc as bc-gh (#12078)
The FAQ [says][1] that projects can be accepted if they "have a critical
impact on infrastructure and user security," with the following two
explicit criteria:

* Exposure to remote attacks
* Number of users/other projects depending on this project.

This bc/dc is locked down, and the exposure to remote attacks should be
extremely low. So I understand if this project is not accepted.

However, it is shipped by default in [Android][2], [FreeBSD][3], and
[macOS][4], so it is critical to other projects that are used widely.

It is already [set up for fuzzing][5], but as a single maintainer, I do
not have the resources to fuzz it all of the time and ask for Google's
help since Google ships this bc/dc in Android.

[1]:
https://google.github.io/oss-fuzz/faq/#what-kind-of-projects-are-you-accepting
[2]: https://android.googlesource.com/platform/external/bc/
[3]:
https://forums.freebsd.org/threads/freebsd-13-3-whats-new-and-how-did-we-get-here.92596/
[4]: https://github.com/apple-oss-distributions/bc/tree/main/bc
[5]:
https://github.com/gavinhoward/bc/blob/master/manuals/development.md#fuzzing-1

Signed-off-by: Gavin D. Howard <gavin.d.howard@gmail.com>
Signed-off-by: Gavin D. Howard <gavin@gavinhoward.com>
2024-06-17 16:18:15 -04:00
TTFISH 7f91500675
[cups] minimize building script (#12072)
Remove build.sh and change Dockerfile. The build script location fits
the upstream file organization in `OpenPrinting/fuzzing`.

Signed-off-by: TTFISH <jiongchiyu@gmail.com>
2024-06-15 23:41:38 -04:00
Armando Faz 96b6ae4d14
circl: Update CIRCL contact emails. (#12068)
Update CIRCL contact emails.
2024-06-15 12:30:28 +01:00
Sergey Bronnikov aa0dba641c
Allow timeout and OOMs options in GH Action (#12003) (#12049)
With disabled option `report-oom` in GH Action Github reports a warning:

"Unexpected input(s) 'report_ooms', valid inputs are ['entryPoint',
'args', 'language', 'fuzz-seconds', 'dry-run', 'sanitizer', 'mode',
'github-token', 'storage-repo', 'storage-repo-branch',
'storage-repo-branch-coverage', 'report-unreproducible-crashes',
'minimize-crashes', 'parallel-fuzzing', 'output-sarif']".

The patch follows up commit a7c524dca0 ("Fix doc timeouts and ooms and
allow these options in GH Action (#12003)").
2024-06-13 21:56:49 -04:00
marcofleon 2f43db564c
bitcoin-core: Add I2P dictionary (#12071) 2024-06-13 18:54:37 +00:00
Tamas K Lengyel 73df2a8a85
Fix unintended uint8 to int promotion bug in ms-tpm-20-ref harness code (#12044)
Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com>
2024-06-13 19:15:46 +01:00
Evgeny Vereshchagin d1983ebcb8
[scapy] poke Packet.summary() (#12050)
It's kind of a follow-up to https://github.com/secdev/scapy/pull/4381
ans should help to catch issues like that going forward.

@gpotter2 @guedou @p-l- could you take a look?

(I think ideally it would be nice to move the fuzz target to the scapy
repository where it could be changed and reviewed without having to open
PRs here)
2024-06-13 19:15:03 +01:00
liang.he a6fbdc3903
[wamr] Don't mirror issues on the github repo (#12069)
Signed-off-by: liang.he@intel.com <liang.he@intel.com>
2024-06-13 19:13:12 +01:00
Rod e4643b64b3
Add to Fontations auto-cc list (#12051)
We got our first issue (hooray!) and it made me realize I didn't add
enough auto ccs.
2024-06-11 17:50:51 -04:00
TTFISH 83f38e71b3
[cups] Migrate harness to upstream OpenPrinting project (#12036)
The OpenPrinting project under the Linux Foundation has initiated the
[OpenPrinting fuzzing](https://github.com/OpenPrinting/fuzzing)
repository to officially maintain OSS-Fuzz testing tasks. This PR
includes following updates:

1. Migration of the existing CUPS fuzzing harness to the upstream
OpenPrinting/fuzzing project.
2. Updated of CUPS mailing contact list and configuration setting.

All harness building related changes has been locally tested and
verified.

We deeply appreciate the contributions from @pkillarjun for his initial
integration of the CUPS project into OSS-Fuzz and his support during
this migration. However, OpenPrinting has decided to move the corpus,
fuzzing harnesses, and build scripts into the repository under its
organisation and maintainance. In addition, the bug reports will be
firstly processed by OpenPrinting's security team and not by the initial
contributor, who is not part of the organisation. These two measures
will minimise the security risks and still maintaining the ability of
open source fellows to participate in the development.

CC @tillkamppeter @iosifache

---------

Signed-off-by: TTFISH <jiongchiyu@gmail.com>
2024-06-10 13:13:05 -04:00
David Lakin 2d32108e21
[lxml] Fix Pyinstaller Bundling Error & Add More Graceful Handling for Shallow Errors (#12031)
#### In the Fuzz Harnesses

Adds additional handling for shallow errors that prematurely halt fuzzer
runs.

#### In `build.sh`

Fixes an issue preventing Pyinstaller from properly bundling
`lxml.isoschematron`. The issue fixed here can be seen in the build logs
(e.g, [the most recent
one](https://oss-fuzz-build-logs.storage.googleapis.com/log-c5377ff0-29ca-4541-bda2-1159016ec4a6.txt))
by `grep`ing for the string `Failed to collect submodules`

---

More details about these changes can be found in their respective commit
messages.
2024-06-10 10:52:46 +01:00
Arvid Norberg 18964d7293
use `apt` boost package to build libtorrent (#12040)
as newer compilers have deprecated some features used by old boost.
Specifically:

```
/src/boost/boost/container_hash/hash.hpp:131:33: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
  131 |         struct hash_base : std::unary_function<T, std::size_t> {};
      |                            ~~~~~^~~~~~~~~~~~~~
      |                                 __unary_function
```
2024-06-10 10:49:34 +01:00
liang.he 8a7d08eaa7
[wamr] Remove WORKDIR (#12043)
to make sure *build.sh* can locate source code directory

Plus, add a few debug info

Signed-off-by: liang.he@intel.com <liang.he@intel.com>
2024-06-10 10:48:17 +01:00
ennamarie19 e43cf762fb
Initial Project Skeleton pikepdf (#12035)
pikepdf is a Python library allowing creation, manipulation and repair
of PDFs. It provides a Pythonic wrapper around the C++ PDF content
transformation library, QPDF. It is used by over 3800 repositories and
90 packages. Most notably, OCRmyPDF (12,400+ stars) uses pikepdf to
graft OCR text layers onto existing PDFs, to examine the contents of
input PDFs, and to optimize PDFs. Additionally, PDFArranger (3000+
stars) depends on pikepdf and is a Python application that provides a
graphical user interface to rotate, crop and rearrange PDFs. It is
important that fuzzing be integrarted into pikepdf as the domino effect
of a high or critical vulnerability in pikepdf would cause numerous
other open source software products to be vulnerable as well.

Approval from the upstream maintainer can be found here:
https://github.com/pikepdf/pikepdf/issues/587
2024-06-07 15:45:22 -04:00
liang.he 9249f93bd2
[wamr] update the working directory (#12039)
fix issue 69490

Signed-off-by: liang.he@intel.com <liang.he@intel.com>
2024-06-07 15:44:39 -04:00
Sergey Bronnikov a7c524dca0
Fix doc timeouts and ooms and allow these options in GH Action (#12003)
#11723
2024-06-07 15:44:29 -04:00
AdamKorcz ec400c9bcb
pacemaker: fix broken build (#12037)
I am getting errors when building Pacemaker locally. This should fix it.

Signed-off-by: Adam Korczynski <adam@adalogics.com>
2024-06-07 12:12:54 +01:00
DavidKorczynski 85c18b6dab
pacemaker: fix build (#12033)
Signed-off-by: David Korczynski <david@adalogics.com>
2024-06-06 18:56:09 +01:00
TTFISH fa8e451d07
[libcups] Init integration (#12021)
The OpenPrinting Team is integrating C-based projects into the OSS-Fuzz
Framework. The maintaining fuzz harnesses locate in OpenPrinting project
[fuzzing](https://github.com/OpenPrinting/fuzzing).

This PR contains the initial integration config for OpenPrinting project
libcups.

CC: @tillkamppeter @iosifache

---------

Signed-off-by: TTFISH <jiongchiyu@gmail.com>
2024-06-05 15:31:29 -04:00
Tamas K Lengyel f31d0a5d5d
Add ms-tpm-20-ref, the Microsoft TPM2 reference implementation (#12030)
Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com>

---------

Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com>
2024-06-05 13:52:47 -04:00