Skip to content

[libarchive] Expand fuzzing from 1 to 25 targets#14678

Open
skypher wants to merge 1 commit intogoogle:masterfrom
rmc-infosec:libarchive-expand-fuzzers
Open

[libarchive] Expand fuzzing from 1 to 25 targets#14678
skypher wants to merge 1 commit intogoogle:masterfrom
rmc-infosec:libarchive-expand-fuzzers

Conversation

@skypher
Copy link
Copy Markdown
Contributor

@skypher skypher commented Dec 28, 2025

Summary

Update libarchive build configuration to use all 25 fuzz targets now available in upstream libarchive (merged in libarchive/libarchive#2820).

Changes

  • Update build.sh to compile all 25 fuzzers from contrib/oss-fuzz/
  • Copy dictionaries and options files for guided fuzzing
  • Generate seed corpora from libarchive's test files
  • Remove local libarchive_fuzzer.cc (now in upstream repo)

New Fuzzers (24 new, 25 total)

Format-specific (13):

  • tar, zip, 7zip, rar, rar5, xar, cab, lha, iso9660, cpio, warc, mtree, ar

Security-critical (4):

  • encryption, write_disk (path traversal), read_disk (symlinks), entry (ACL)

API coverage (7):

  • write, linkify, match, string, seek, roundtrip, filter

Coverage Targets

Previously uncovered functions now targeted:

Function Complexity Coverage Before
archive_entry_linkify 775 0%
ACL functions (7 total) 705-713 0%
xar_read_header 1,416 10.11%

Expected coverage improvement: 74% → 85-95%

Testing

@google-cla
Copy link
Copy Markdown

google-cla bot commented Dec 28, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions
Copy link
Copy Markdown

skypher is a new contributor to projects/libarchive. The PR must be approved by known contributors before it can be merged. The past contributors are: Mrmaxmeier, DonggeLiu, jvoisin, cvediver, Dor1s, mmatuska (unverified)

@skypher skypher force-pushed the libarchive-expand-fuzzers branch 2 times, most recently from de20e5f to 20e2aaa Compare January 10, 2026 02:23
@skypher
Copy link
Copy Markdown
Contributor Author

skypher commented Jan 10, 2026

@mmatuska Companion PR to libarchive/libarchive#2820, your approval is required. Thanks!

- Update build.sh to compile all 25 fuzzers from upstream libarchive
- Remove local libarchive_fuzzer.cc (now in upstream repo)
- Add contributor email to auto_ccs
@skypher skypher force-pushed the libarchive-expand-fuzzers branch from a95948d to 87e4bfa Compare February 11, 2026 04:10
@skypher
Copy link
Copy Markdown
Contributor Author

skypher commented Feb 11, 2026

Saw we had some conficts and resolved them. Would be great if we could get this merged, thanks!

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