CVE-2018-9160
Description
SickRage before v2018.03.09-1 includes cleartext credentials in HTTP responses.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
sickragePyPI | < 2018.03.09-1 | 2018.03.09-1 |
Affected products
1Patches
Vulnerability mechanics
Root cause
"Credentials are rendered in cleartext into HTML value attributes and stored without masking, allowing any viewer of the web interface to read them."
Attack vector
An attacker who can view any HTTP response from the SickRage web interface (e.g., by browsing to a configuration page or intercepting network traffic) can obtain cleartext credentials. The web interface rendered passwords, API keys, and tokens directly into HTML input fields as the `value` attribute, even when the application was not password-protected [CWE-522]. Because the credentials were embedded in the page source, any user with access to the web UI—or an attacker who can trigger a reflected response containing these fields—could read them without authentication. The exploit-db reference confirms that simply viewing the configuration page source reveals the plaintext secrets [ref_id=2].
Affected code
The vulnerability resides in `sickbeard/webserve.py` and multiple Mako templates under `gui/slick/views/`. In `webserve.py`, the `async_call` method and various `save*` handlers (e.g., `saveGeneral`, `saveSearch`, `saveNotifications`, `saveSubtitles`, `saveAnime`) directly assigned raw credential values from HTTP arguments to SickRage configuration variables without applying the `filters.unhide` function [patch_id=1703057]. The Mako templates (e.g., `config_search.mako`, `config_notifications.mako`, `config_general.mako`, `config_providers.mako`, `config_subtitles.mako`, `config_anime.mako`) rendered those credentials into HTML `value` attributes using `${sickbeard.SAB_PASSWORD}` or `${'*' * len(...)}` instead of the new `|hide` filter [ref_id=1].
What the fix does
The patch introduces two complementary changes. First, a new `filters.unhide` function is called in every `save*` handler in `webserve.py` so that when a form POST includes a credential field, the stored value is only updated if the submitted value differs from a masked placeholder—preventing the masked placeholder from overwriting the real secret [patch_id=1703057]. Second, all Mako templates now apply the `|hide` filter (imported from `sickbeard.filters`) to credential variables when rendering the `value` attribute, so the HTML output shows asterisks instead of the actual secret [ref_id=1]. Together, these changes ensure that credentials are never exposed in the HTML source and cannot be accidentally overwritten by a masked form submission.
Preconditions
- networkAttacker must be able to view an HTTP response from the SickRage web interface (e.g., browse to a configuration page or intercept network traffic).
- authNo authentication required — the credentials are exposed even when SickRage is not password-protected.
Reproduction
1. Navigate to any SickRage configuration page that contains credential fields (e.g., Config > Search, Config > Notifications, Config > Providers). 2. View the page source (right-click > View Page Source). 3. Observe that the `value` attributes of password and API key input fields contain the cleartext secrets. For example, `
Generated on May 23, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
7- www.exploit-db.com/exploits/44545/mitreexploitx_refsource_EXPLOIT-DB
- github.com/advisories/GHSA-jrcv-3c5h-rh3qghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2018-9160ghsaADVISORY
- github.com/SickRage/SickRage/commit/8156a74a68aea930d1e1047baba8b115c3abfc44ghsax_refsource_MISCWEB
- github.com/SickRage/sickrage.github.io/blob/master/sickrage-news/CHANGES.mdmitrex_refsource_MISC
- github.com/pypa/advisory-database/tree/main/vulns/sickrage/PYSEC-2018-101.yamlghsaWEB
- www.exploit-db.com/exploits/44545ghsaWEB
News mentions
0No linked articles in our index yet.