Skip to content

Validate host in google lyrics redirect allowlist - #659

Open
acts-1631 wants to merge 1 commit into
ncmpcpp:masterfrom
acts-1631:fix/google-lyrics-redirect
Open

Validate host in google lyrics redirect allowlist#659
acts-1631 wants to merge 1 commit into
ncmpcpp:masterfrom
acts-1631:fix/google-lyrics-redirect

Conversation

@acts-1631

Copy link
Copy Markdown

GoogleLyricsFetcher::isURLOk only tested whether the configured site
keyword was a substring of the redirect URL, so a host such as
justsomelyrics.com.attacker.com passed the check and the lyrics fetch
followed the redirect to an attacker-controlled server. Because the
google search is requested over plain HTTP, a MITM could substitute the
redirect target and supply arbitrary lyrics content.

Parse the URL host and require the keyword to be the whole host or a
suffix preceded by a subdomain separator, defeating the substring
bypass.

GoogleLyricsFetcher::isURLOk only tested whether the configured site
keyword was a substring of the redirect URL, so a host such as
justsomelyrics.com.attacker.com passed the check and the lyrics fetch
followed the redirect to an attacker-controlled server. Because the
google search is requested over plain HTTP, a MITM could substitute the
redirect target and supply arbitrary lyrics content.

Parse the URL host and require the keyword to be the whole host or a
suffix preceded by a subdomain separator, defeating the substring
bypass.
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