Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

security: agent browser pages can still reach local addresses through public names that resolve to them

Closed
#260 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
electron, typescript
Domain
desktop, security

Research direction

Start with BrowserService.allowsRequest, which filters by hostname and literal address only, and with tools/net_proxy.ts, the existing filtering proxy the issue wants the agent session routed through via session.setProxy. The fix must check the resolved address, either in the proxy policy or by cancelling on details.ip in webRequest.onResponseStarted. Done means a test with a resolver stub, where a public-looking name resolves to a local server, shows that the server receives no request.

Written by the indexing model from the issue text.

Description

enhancement priority: low security severity: low

Follow-up to #235.

Problem

The agent browser's request filter (BrowserService.allowsRequest) refuses requests from a public page to local hostnames and address literals. It does not see what a name resolves to: a public name that resolves to 127.0.0.1, a LAN address or 169.254.169.254 (a DNS rebinding service, or an attacker's own DNS) still reaches the local service from a frame or fetch, and a screenshot or console output can pass it on.

Fix

Route the agent session through the existing filtering proxy (tools/net_proxy.ts, via session.setProxy) with a policy that allows public destinations and refuses local ones after resolving, or cancel on the resolved details.ip (webRequest.onResponseStarted) and stop the page.

Test

A page on a public-looking test host (resolver stub) frames a name that resolves to a local server; the server gets no request.

Dominant language
TypeScript
Stars
2
Forks
2
Avg merge
8h 28m
Merged PRs (30d)
26

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PierrunoYT/patch

All issues in PierrunoYT/patch

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.