• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IJHack / QtPass / 40416601267
93%

Build:
DEFAULT BRANCH: main
Ran 26 Oct 2026 11:09PM UTC
Jobs 1
Files 121
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Oct 2026 10:59PM UTC coverage: 92.554% (-0.3%) from 92.861%
40416601267

push

github

web-flow
Security scan follow-ups: WSL signing key, decompression limit, templates, OTP seed, copy hints (#2051)

* Security scan follow-ups: WSL signing key, decompression limit, templates

From a CodeRabbit security scan of e5ea4ec16, each finding checked
against the code:

- WSL (Medium): the signing key never reached pass running in WSL, so
  pass there did not check .gpg-id.sig. WSLENV now forwards
  PASSWORD_STORE_SIGNING_KEY, and the length and character set get /u:
  their /w meant "from WSL out", so pass in WSL never saw them either.
- Decompression bombs (Low, 2 findings): every gpg decryption QtPass
  runs (show, re-encrypt and its check, content search) passes
  --max-output 64 MiB, and the pass backend gets the same through
  PASSWORD_STORE_GPG_OPTS after the user's own options. A small
  compressed entry in a shared store could expand to gigabytes.
- Template files (Low): .templates and .default_template are opened
  with Util::openRegularFile (no links, devices or FIFOs) and refused
  above 64 KiB; a link to /dev/zero made QtPass read forever on the GUI
  thread.
- otpauth seed (Low): a bare otpauth:// line is never split into a
  field, also not when the template lists "otpauth"; the scheme-less
  value was shown seed and all.
- Copy out of a shown entry (Low): the field values and the rest of the
  entry are SecretTextBrowsers, which put the same secret hints on
  whatever leaves them (Ctrl+C, context menu, drag, X11 selection) as
  ClipboardManager does, and report it; ClipboardManager::trackCopied()
  clears it with the rest, beside the copied password, not instead of
  it.

The sixth finding (a signed list replayed from another store that uses
the same signing key) is a design limitation: SECURITY.md documents it
with the advice of one signing key per store, and #2050 has the design
options. CHANGELOG: security entries, and an upgrade note that WSL users
with a signing key need a signed .gpg-id and the key inside WSL.

A test per fix; the o... (continued)

113 of 129 new or added lines in 10 files covered. (87.6%)

37 existing lines in 3 files now uncovered.

9298 of 10046 relevant lines covered (92.55%)

200.43 hits per line

Uncovered Changes

Lines Coverage ∆ File
16
63.64
src/secretlineedit.cpp

Coverage Regressions

Lines Coverage ∆ File
21
51.02
-3.74% src/moc_passworddisplaypanel.cpp
15
37.5
-1.21% src/moc_clipboardmanager.cpp
1
86.9
-0.75% src/nativegrep.cpp
Jobs
ID Job ID Ran Files Coverage
1 40416601267.1 26 Oct 2026 11:09PM UTC 121
92.55
GitHub Action Run
Source Files on build 40416601267
  • Tree
  • List 121
  • Changed 13
  • Source Changed 13
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40416601267
  • 96c6a0fa on github
  • Prev Build on main (#40413259847)
  • Next Build on main (#40490438402)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc