GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — One corrupt encrypted page poisons subsequent integrity_check reads on the same connection · Issue #617 · sqlcipher/sqlcipher Open DescriptionVersion and environmentReproduced from SQLCipher commit Describe the bugAfter exactly one encrypted page fails HMAC verification, SQLCipher stores a persistent codec/pager error. Minimal reproductiontimeout 900 sqlcipher-022-single-corrupt-encrypted-page-poisons-current-integrit-f3ef876c/poc/reproduce_corrupt_page_integrity_poison.sh The essential data mutation and query sequence is: cp sqlcipher-4.0-testkey.db corrupt.db dd if=/dev/zero of=corrupt.db bs=4096 count=1 seek=16 conv=notrunc sqlcipher corrupt.db <<'SQL' .bail off PRAGMA key='testkey'; PRAGMA cipher_integrity_check; PRAGMA integrity_check; SELECT count(*) FROM sqlite_schema; SQL Run the same SQL on an unmodified copy as the control. Actual behavior/outputThe clean control returns It then reports pages 16 through 3 and page 1 as Expected behaviorThe integrity diagnostics should identify the actual failed page without turning its page-local authentication error into unrelated later read failures. Subsequent pages should be independently checked when safe, or the check should stop with an explicit global-abort result rather than misreporting a wider corruption set. Impact and scopeThe cascade exaggerates corruption scope and can mislead repair, restore, monitoring, and forensic decisions. This candidate concerns diagnostic accuracy on the current connection, not acceptance of corrupted data. Relevant source/root cause
Suggested regression testModify exactly one page in a multi-page encrypted fixture. Run Reproduction bundleAttached: sqlcipher-022-single-corrupt-encrypted-page-poisons-current-integrit-f3ef876c_attachment.zip Activity
MetadataMetadataAssigneesLabelsNo labels TypeProjectsMilestoneRelationshipsDevelopmentIssue actions |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |