Skip to content

News' "add this RSS feed" functionality doesn't honor the HTTPS upgrade setting #38282

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
fmarier opened this issue May 13, 2024 · 15 comments · Fixed by brave/brave-core#26849 or brave/brave-core#26989
Assignees
Labels
Chromium/upgrade minor Minor version bump. (ex: Chromium 88.0.0.1 to 88.0.0.2) feature/brave-news formerly brave-today OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release. privacy/https-upgrades Issues related to HTTPS Upgrades feature QA Pass-Win64 QA/Yes release-notes/include

Comments

@fmarier
Copy link
Member

fmarier commented May 13, 2024

Steps To Reproduce:

  1. Enable Brave News
  2. In Brave settings (brave://settings/shields), set "Upgrade connections to HTTPS" to "Strict"
  3. Open WireShark. Enable capturing. Set the display filter in WireShark to http
  4. Visit https://fmarier.github.io/brave-testing/news-add-rss.html
  5. Click the feed icon in the URL bar
  6. Go back to WireShark. You can see a plaintext request sent to 172.105.6.87

Actual

Screenshot from 2024-05-13 10-52-56

Expected

The request should be upgraded to HTTPS and no HTTP request should be visible in WireShark.

Originally reported at https://hackerone.com/reports/2502007

@fmarier
Copy link
Member Author

fmarier commented May 13, 2024

The other thing that this suggests is that we are likely not running these URLs through our privacy filters (e.g. debouncer, query string filter).

@fmarier
Copy link
Member Author

fmarier commented May 13, 2024

To confirm, I updated the test page to add an fbclid parameter to the URL and it doesn't get stripped out:
Screenshot from 2024-05-13 12-15-18

@bsclifton
Copy link
Member

cc: @LorenzoMinto

@diracdeltas
Copy link
Member

@bsclifton is anyone able to take this issue?

@fmarier fmarier added priority/P3 The next thing for us to work on. It'll ride the trains. and removed sec-low labels Jun 28, 2024
@diracdeltas
Copy link
Member

diracdeltas commented Sep 3, 2024

@boocmp do you think you could take this? assuming @LorenzoMinto / @fallaciousreasoning have not started on it.

@fallaciousreasoning
Copy link

@fmarier I suspect this is probably a broader problem with our ApiRequestHelper class so this probably affects everything that uses it 😨

@boocmp
Copy link

boocmp commented Sep 5, 2024

ApiRequestHelper uses the SharedUploaderFactory which bypasses any Brave code for requests passing through it, I always thought it is by design.

@fallaciousreasoning
Copy link

fallaciousreasoning commented Sep 5, 2024

cc @petemill not really sure on the best approach here if its by design that the APIRequestHelper isn't going through Brave's request handling code?

@fmarier
Copy link
Member Author

fmarier commented Sep 5, 2024

I think this should be a News-specific fix (for these custom RSS feeds). We should not change any other internal requests.

@rebron rebron added priority/P2 A bad problem. We might uplift this to the next planned release. Chromium/upgrade minor Minor version bump. (ex: Chromium 88.0.0.1 to 88.0.0.2) and removed priority/P3 The next thing for us to work on. It'll ride the trains. labels Nov 4, 2024
@DJAndries DJAndries self-assigned this Dec 3, 2024
@rebron rebron added this to General Dec 3, 2024
@rebron rebron moved this to In progress in General Dec 3, 2024
@github-project-automation github-project-automation bot moved this from In progress to Completed in General Dec 11, 2024
@diracdeltas
Copy link
Member

Reopening as the fix for this was incomplete, but feel free to close it again and just open a follow-up if that's easier: https://bravesoftware.slack.com/archives/C6R461GF4/p1733936717990789

@diracdeltas diracdeltas reopened this Dec 16, 2024
@DJAndries
Copy link
Collaborator

Reopening as the fix for this was incomplete, but feel free to close it again and just open a follow-up if that's easier: https://bravesoftware.slack.com/archives/C6R461GF4/p1733936717990789

Merged brave/brave-core#26989 as a follow up last week

@LaurenWags
Copy link
Member

@fmarier do you think this one should be tested on all desktop OSes (Windows, macOS, Linux) or is verification on one OS sufficient? If you think this is important enough to test on all desktop OSes please add the QA/Test-All-Platforms label. Thanks!

@fmarier
Copy link
Member Author

fmarier commented Jan 9, 2025

@LaurenWags It should be fine on just one desktop platform. There's nothing OS-specific about this.

@LaurenWags
Copy link
Member

Excellent, thanks for the input @fmarier 😄

@MadhaviSeelam
Copy link

MadhaviSeelam commented Jan 14, 2025

Verification PASSED using

Brave | 1.75.159 Chromium: 132.0.6834.83 (Official Build) beta (64-bit)
-- | --
Revision | a7b6f5093a2dad31fc3f56241a7d55be255e69e2
OS | Windows 11 Version 24H2 (Build 26100.2605)

Reproduced the issue in 1.73.105 using the STR from #38282 (comment)

Image

  1. Installed 1.75.159
  2. launched Brave
  3. Enable Brave News in the NTP
  4. opened brave://settings/shields
  5. set "Upgrade connections to HTTPS" to "Strict"
  6. opened WireShark and enable capturing (wifi)
  7. Set the display filter in WireShark to http
  8. visited https://fmarier.github.io/brave-testing/news-add-rss.html
  9. Click the feed icon in the URL bar

Confirmed no http request is shown related to brave-news in the wireshark

example example example example example
Image Image Image Image Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chromium/upgrade minor Minor version bump. (ex: Chromium 88.0.0.1 to 88.0.0.2) feature/brave-news formerly brave-today OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release. privacy/https-upgrades Issues related to HTTPS Upgrades feature QA Pass-Win64 QA/Yes release-notes/include
Projects
None yet