frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

A Better Zip Bomb

https://www.bamsoftware.com/hacks/zipbomb/
66•kekqqq•2h ago

Comments

kleiba•1h ago
In one of my previous jobs, I got laid off in the most condescending way, only to be asked days later by my former boss to send her some documents. If only I knew about this then...
colechristensen•1h ago
Don't commit felonies because you're unhappy with your former employer.
lossyalgo•1h ago
Is it a felony to crash someone's computer?
colechristensen•1h ago
Possibly, yes.
fragmede•37m ago
Violations of the Computer Fraud and Abuse Act (CFAA) can be either misdemeanors or felonies. It's definitely broad enough that doing so could get you in serious trouble if pursued.
drob518•15m ago
If done deliberately…
Computer0•1h ago
You have bigger enemies more worthy of that personal risk. This comment bewilders me a bit.
cuechan•1h ago
Is it possible to implement something similar but with a protocol that supports compression? Can we have a zip bomb but with a compressed http response that gets decompressed on the client? There are many protocols that support compression in some way.
dontdoxxme•1h ago
Previously: I use zip bombs to protect my server (idiallo.com) 1076 points https://news.ycombinator.com/item?id=43826798
moreati•1h ago
There was https://idiallo.com/blog/zipbomb-protection earlier this year. It sends highly compressed output of /dev/zero. No overlapping files or recursively compressed payloads.
542458•1h ago
Okay, so I know back in the day you could choke scanning software (ie email attachment scanners) by throwing a zip bomb into them. I believe the software has gotten smarter these days so it won’t simply crash when that happens - but how is this done; How does one detect a zip bomb?
danudey•1h ago
I don't understand the code itself, but here's Debian's patch to detect overlapping zip bombs in `unzip`:

https://sources.debian.org/patches/unzip/6.0-29/23-cve-2019-...

    The detection maintains a list of covered spans of the zip files
    so far, where the central directory to the end of the file and any
    bytes preceding the first entry at zip file offset zero are
    considered covered initially. Then as each entry is decompressed
    or tested, it is considered covered. When a new entry is about to
    be processed, its initial offset is checked to see if it is
    contained by a covered span. If so, the zip file is rejected as
    invalid.
So effectively it seems as though it just keeps track of which parts of the zip file have already been 'used', and if a new entry in the zip file starts in a 'used' section then it fails.
10000truths•51m ago
For any compression algorithm in general, you keep track of A = {uncompressed bytes processed} and B = {compressed bytes processed} while decompressing, and bail out when either of the following occur:

1. A exceeds some unreasonable threshold

2. A/B exceeds some unreasonable threshold

danudey•1h ago
Debian's `unzip` utility, which is based off of Info-ZIP but with a number of patches, errors out on overlapping files, though not before making a 21 MB file named `0` - presumably the only non-overlapping file.

    unzip zbsm.zip
    Archive:  zbsm.zip
      inflating: 0
    error: invalid zip file with overlapped components (possible zip bomb)
This seems to have been done in a patch to address https://nvd.nist.gov/vuln/detail/cve-2019-13232

https://sources.debian.org/patches/unzip/6.0-29/23-cve-2019-...

chupasaurus•1h ago
(2019) with last update in 2023.
arjie•1h ago
The fact that ZIP files include the catalog/directory at the end is such nostalgia fever. Back in the day it meant that if you naïvely downloaded the file, a partial download would be totally useless. Fortunately, in the early 2000s, we got HTTP's Range and a bunch of zip-aware downloaders that would fetch the catalog first so that you could preview a zip you were downloading and even extract part of a file! Good times. Well, not as good as now, but amusing to think of today.
Twirrim•1h ago
Previously discussed in 2019, https://news.ycombinator.com/item?id=20352439

Someone shared a link to that site in a conversation earlier this year on HN. For a long time now, I've had a gzip bomb sitting on my server that I provide to people that make a certain categories of malicious calls, such as attempts to log in to wordpress, on a site not using wordpress. That post got me thinking about alternative types of bombs, particularly as newer compression standards have become ubiquitous, and supported in browsers and http clients.

I spent some time experimenting with brotli as a compression bomb to serve to malicious actors: https://paulgraydon.co.uk/posts/2025-07-28-compression-bomb/

Unfortunately, as best as I can see, malicious actors are all using clients that only accept gzip, rather than brotli'd contents, and I'm the only one to have ever triggered the bomb when I was doing the initial setup!

measurablefunc•55m ago
Decompression is equivalent to executing code for a specialized virtual machine. It should be possible to automate this process of finding "small" programs that generate "large" outputs. Could even be an interesting AI benchmark.
bikeshaving•37m ago
My guess is this is a subset of the halting problem (does this program accept data with non-halting decompression), and is therefore beautifully undecidable. You are free to leave zip/tgz/whatever fork bombs as little mines for live-off-the-land advanced persistent threats in your filesystems.
machinationu•22m ago
it's not. decompression always ends since it progresses through the stream always moving forward. but it might take a while
est•3m ago
I wonder if there's any reverse zip-bombs? e.g. A realy big .zip file, takes long time to unzip, but get only few bytes of content.

Like bomb the CPU time instead of memory.

CSS Grid Lanes

https://webkit.org/blog/17660/introducing-css-grid-lanes/
182•frizlab•2h ago•50 comments

Mistral OCR 3

https://mistral.ai/news/mistral-ocr-3
357•pember•1d ago•61 comments

Garage – An S3 object store so reliable you can run it outside datacenters

https://garagehq.deuxfleurs.fr/
433•ibobev•8h ago•89 comments

A Better Zip Bomb

https://www.bamsoftware.com/hacks/zipbomb/
66•kekqqq•2h ago•21 comments

TP-Link Tapo C200: Hardcoded Keys, Buffer Overflows and Privacy

https://www.evilsocket.net/2025/12/18/TP-Link-Tapo-C200-Hardcoded-Keys-Buffer-Overflows-and-Priva...
201•sibellavia•6h ago•56 comments

We ran Anthropic’s interviews through structured LLM analysis

https://www.playbookatlas.com/research/ai-adoption-explorer
31•jp8585•1h ago•27 comments

8-bit Boléro

https://linusakesson.net/music/bolero/index.php
151•Aissen•12h ago•27 comments

Amazon will allow ePub and PDF downloads for DRM-free eBooks

https://www.kdpcommunity.com/s/article/New-eBook-Download-Options-for-Readers-Coming-in-2026?lang...
519•captn3m0•14h ago•273 comments

GotaTun – Mullvad's WireGuard Implementation in Rust

https://mullvad.net/en/blog/announcing-gotatun-the-future-of-wireguard-at-mullvad-vpn
525•km•13h ago•110 comments

Graphite is joining Cursor

https://cursor.com/blog/graphite
157•fosterfriends•8h ago•188 comments

Qwen-Image-Layered: transparency and layer aware open diffusion model

https://huggingface.co/papers/2512.15603
54•dvrp•21h ago•6 comments

Brown/MIT shooting suspect found dead, officials say

https://www.washingtonpost.com/nation/2025/12/18/brown-university-shooting-person-of-interest/
77•anigbrowl•21h ago•77 comments

Performance Hints (2023)

https://abseil.io/fast/hints.html
43•danlark1•7h ago•23 comments

NOAA deploys new generation of AI-driven global weather models

https://www.noaa.gov/news-release/noaa-deploys-new-generation-of-ai-driven-global-weather-models
73•hnburnsy•2d ago•46 comments

Show HN: TinyPDF – 3kb pdf library (70x smaller than jsPDF)

https://github.com/Lulzx/tinypdf
101•lulzx•1d ago•14 comments

Rust's Block Pattern

https://notgull.net/block-pattern/
102•zdw•19h ago•41 comments

Man Made Troubles (1953) [video]

https://www.youtube.com/watch?v=AW-dvD2ZLZY
5•CaliforniaKarl•4d ago•0 comments

Believe the Checkbook

https://robertgreiner.com/believe-the-checkbook/
111•rg81•8h ago•48 comments

The FreeBSD Foundation's Laptop Support and Usability Project

https://github.com/FreeBSDFoundation/proj-laptop
127•mikece•9h ago•42 comments

The pitfalls of partitioning Postgres yourself

https://hatchet.run/blog/postgres-partitioning
44•abelanger•3d ago•5 comments

Monumental snake engravings of the Orinoco River (2024)

https://www.cambridge.org/core/journals/antiquity/article/monumental-snake-engravings-of-the-orin...
11•bryanrasmussen•1w ago•1 comments

Response Healing: Reduce JSON defects by 80%+

https://openrouter.ai/announcements/response-healing-reduce-json-defects-by-80percent
33•numlocked•1d ago•29 comments

Buteyko Method

https://en.wikipedia.org/wiki/Buteyko_method
24•rzk•2h ago•9 comments

Lite^3, a JSON-compatible zero-copy serialization format

https://github.com/fastserial/lite3
127•cryptonector•6d ago•33 comments

The scariest boot loader code

http://miod.online.fr/software/openbsd/stories/boot_hppa.html
18•todsacerdoti•3h ago•1 comments

Reverse Engineering US Airline's PNR System and Accessing All Reservations

https://alexschapiro.com/security/vulnerability/2025/11/20/avelo-airline-reservation-api-vulnerab...
80•bearsyankees•6h ago•39 comments

Show HN: Misata – synthetic data engine using LLM and Vectorized NumPy

https://github.com/rasinmuhammed/misata
10•rasinmuhammed•3d ago•0 comments

LLM Year in Review

https://karpathy.bearblog.dev/year-in-review-2025/
31•swyx•3h ago•10 comments

History LLMs: Models trained exclusively on pre-1913 texts

https://github.com/DGoettlich/history-llms
750•iamwil•1d ago•368 comments

Show HN: I Made Loom for Mobile

https://demoscope.app
57•admtal•7h ago•34 comments