More than often next to the download button of a file there is a variety of checksums.

When I download a file what security risks am I exposed to if I don't check for its integrity?


3 Answers 3


When I download a file what security risks am I exposed to if I don't check for its integrity?

If the checksums are published on the same server which also hosts the downloads then there is not much security risks of not checking. If an attacker would be able to manipulate the downloads (s)he would probably be able to manipulate the checksums too. So the main problem is that you might not detect that the download is corrupted.

It is another case if the checksum are provided on different server than the downloads. If the checksums are served by a well protected server and are served through https, than it does not matter much if the downloaded files itself are hosted on more problematic sites and without http, at least as long as each user verified that the downloaded file matches the published checksums. Thus in this case it would be a larger security risk to not validating the checksums.

  • 2
    I would love to see browsers automatically detect checksums on a page and validate the download for you. Unfortunately, this problem is harder to solve than it appears; just because it's obvious to a human which checksum goes with which download does not mean it's easy to parse, leading to a lot of weird edge-cases and to the possibility of the browser accidentally blocking a perfectly good download. Dec 10, 2015 at 23:06
  • 9
    @MikeOunsworth Interesting idea. I suspect if there was real demand we could modify the html spec to permit it. Perhaps add a checksum attribute to the <a> tag or something. Where the value check something would include the hash type, and hash value. So something like <a checksum="sha256:ewjRWqj34h..." href="downloadliso">link</a>
    – Zoredache
    Dec 10, 2015 at 23:12
  • Usually the hashes are signed with GPG. So if you have the corresponding public key you can verify the file with hashes and then use the hash to verify the download.
    – kasperd
    Dec 11, 2015 at 0:23
  • 2
    @Zoredache RFC 3230 already did that through custom header.
    – Martheen
    Dec 11, 2015 at 3:44
  • Hosting on third party servers occurs more often than one might think. For example, github release assets appear to hosted on their own github.com servers. But actually, they're a 302 redirect to aws S3.
    – wisbucky
    Sep 18, 2019 at 21:12

Verifying a checksum saves you the frustrations of potentially allowing a file that has been comprised maliciously to infiltrate your system or network, from a security standpoint the hash allows for a verification to occur that allows to ensure what you have downloaded has not been compromised or incomplete during the download to your system.

In all reality its not needed when they are on the same site, there is no real security bonus. It is only of a security value when trying to verify that a file from another source is the same file (though even that may be dubious thanks to success of collision attacks against a lot of typical error detection hashes.)

In most cases it is provided to make sure your download was successful.


You could potentially get a corrupt file, or incomplete download. It is very unlikely, but I guess it is remotely possible, that a incomplete download could damage a system in some way.

One case that I imagine this might apply would be the case of downloading a firmware update for a motherboard or something that doesn't perform validation of the firmware image before applying it. Not checking would possibly mean you brick your device with invalid firmware. It seems very unlikely this would have any implications from a security standpoint though.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .