Skip to content

Restrict SignatureDialog URL items to http(s) schemes - #1487

Open
kloploid wants to merge 1 commit into
open-eid:masterfrom
kloploid:fix-spuri-scheme-injection
Open

kloploid wants to merge 1 commit into
open-eid:masterfrom
kloploid:fix-spuri-scheme-injection

Conversation

@kloploid

@kloploid kloploid commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Only render a clickable button for http/https URLs; show any other or invalid scheme as plain, non-clickable text.

The SPUri value shown in the signature details dialog is read directly
from the signature XML inside a container, which is untrusted input. The
addItem(..., const QUrl&) overload rendered it as a button whose click
handler called QDesktopServices::openUrl() with no scheme validation, so
a crafted container could set SPURI to file://, smb:// or a custom scheme
and have the client invoke the matching OS handler on click.

Only render a clickable button for http/https URLs; show any other or
invalid scheme as plain, non-clickable text. The Signature method row
uses the same overload and is hardened too.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant