CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 20:48:35 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"2c24f177212bf4cc287049ee8e6437cf"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=nJFoXue7op%2ByRn0Dyi%2BMDXNaA4dMKHf3vUEZ7R1R4RVf0m1tv6os4%2BCFZBezmh%2FNq7dZfaCGTcRyRgHkVwE0Nm0NPWuMdoij2bwaujM0EI4pnJT5FD71RAOauCY%2B%2FOwA0qRmQAibqPZmGBqmsKs35tsyM%2Frc1XGU%2BBw62CuWrZh6EY3YkSqwcXk8NJvbZV60Ii%2B4xqISDL4ixMeRn3Xz%2Fke0w2DLQOqOHuKwYKN486JM7zrMO8ehHIQ04sY2jDbQk5%2FI8up0M9NL0pKYhoucqQ%3D%3D--9Gy9wIMXxQ735e%2FC--jxYYSuPX4%2FCqtajLFIsKeQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1594196112.1753303715; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 20:48:35 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 20:48:35 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: E3EC:18BEF9:ECB17:1355E4:68814AA3
Favicon cache poisoning by editing website URL · Advisory · FreshRSS/FreshRSS · GitHub
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 977
Favicon cache poisoning by editing website URL
Moderate
Package
No package listed
Affected versions
<=1.26.1
Patched versions
1.26.2
Description
Severity
Moderate
/ 10
CVSS v3 base metrics
Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
CVE ID
CVE-2025-46339
Weaknesses
Weakness CWE-349
Acceptance of Extraneous Untrusted Data With Trusted Data
The product, when processing trusted data, accepts any untrusted data that is also included with the trusted data, treating the untrusted data as if it were trusted. Learn more on MITRE.Credits
-
Inverle Reporter
You can’t perform that action at this time.
Summary
It's possible to poison the server-side feed favicon cache for other users by editing the website URL in a feed that has the same URL.
Details
The favicon hash is computed by hashing the feed URL and the salt, whilst not including the following variables inside the hash:
This is how the favicon filenames are created in
faviconPrepare
:Since the
$this->url
variable only contains the feed's URL, which is linked to the website URL used for downloading the favicon, that is changeable by any user, anyone can alter the favicon's image for all users.PoC
After adding a feed, go into its settings and edit the following field:
The applied favicon will be the one that's found at the newly set URL.
Then, go into the settings again and clear the cache:
The effects may not be observable instantly if the browser cached the image earlier, so it should be cleared to make sure the favicon has been replaced.
It's also possible to modify the website URL without going into the settings of the feed, by using a proxy with disabled SSL verifying to intercept the XML of the feed and changing the website URL inside of it.
Impact
Feed favicons can be replaced for all users by anyone, offensive images could be put inside the favicon.