There are a significant number of ways paswords&#x2F;password hashes stored in a DB might be revealed that wouldn&#x27;t result in write access to the DB.<p>Off the top of my head:<p><pre><code>    (1) Timing attacks against string comparison (in the hash cases, this usually also implies a guessable salt)

    (2) Misconfigured servers showing exceptions&#x2F;debug info to users, coupled with sensitive information in debug messages, coupled with a remotely triggerable exception

    (3) Compromise only of the offsite backup site containing DB dumps but no access to the live DB

    (4) Flaky drive is replaced without being physically destroyed.  Dumpster diver gets drive working again briefly and gets partial&#x2F;all DB contents at drive failure time.

    (5) Someone else compromises the DB and posts a dump on the web.
</code></pre>
A big part of good security is taking steps to keep small errors from being leveraged into big problems.  (Though, I&#x27;m not saying that read-only access is only a little problem.)<p>Account read-write access opens up a lot more opportunities for fraud and abuse vs. account read-only access.