+1, this is a critical security bug.

On Tue, Jan 13, 2026 at 6:19 PM LRob <[email protected]> wrote:
>
> I understand the captive portal concern, but I respectfully disagree
> with the current default.
>
> The current default breaks the principle of least surprise and the
> package's own description as a "recursive resolver".
>
> For a reminder, the package's own description:
>
> "NAME
>         unbound - Unbound DNS validating resolver 1.22.0.
> [...]
> DESCRIPTION
>         Unbound is a caching DNS resolver.
>
>         It  uses  a  built in list of authoritative nameservers for the
> root zone (.), the so called root hints.  On receiving a DNS query it
> will ask the root nameservers for an answer and will in almost all cases
> receive a delegation to a top level domain (TLD) authoritative
> nameserver.  It will
>         then ask that nameserver for an answer.  It will recursively
> continue until an answer is found or no answer is available (NXDOMAIN).
> For performance and efficiency reasons that answer is cached for a
> certain time (the answer's time-to-live or TTL).  A second query for the
> same  name  will
>         then be answered from the cache.  Unbound can also do DNSSEC
> validation.
> [...]"
>
>
> 1. SILENT PRIVACY BREACH: Users installing a "recursive resolver"
>     have a reasonable expectation of... recursive resolution.
>     Silently forwarding all queries to a third party (ISP, hosting
>     provider) without any warning is a privacy violation.
>     In some countries, this can have dramatic consequences.
>
> 2. WORSE THAN BROKEN: A non-working DNS is immediately visible and
>     fixable. A silently forwarded DNS looks like it works, but leaks
>     all queries to an upstream resolver. Users who specifically chose
>     unbound for privacy are unknowingly exposed.
>
> 3. TARGET AUDIENCE: Who installs unbound on a laptop for wifi hotspots?
>     The typical unbound user is running a server or a privacy-conscious
>     desktop with stable connectivity. Captive portals are an edge case
>     for this package's actual userbase.
>
> SIMPLE MIDDLE GROUND SOLUTION:
>
>     - Default to disabled (recursive) as before
>     - Document clearly how to enable forwarding for captive portal scenarios
>     - Or: detect if running on a server (no NetworkManager?) vs desktop
>
> Thank you
> LRob
>
> On 1/8/26 8:17 AM, Michael Tokarev wrote:
> > If we ignore DHCP-provided nameservers and always perform recursive name
> > resolution, we'll have non-working internet connectivity in common wifi
> > areas where captive portals are in effect.
> >
> > If you have stable internet connectivity where you're sure recursive
> > resolution works, you're free to drop execute permissions from this
> > hook, and recursive-only name resolution will work fine for you.
> > For a general case, we need a working internet first, making debian
> > to be unable to connect to the internet by default is wrong, in my
> > opinion.
> >
> > If you disagree and insist on disabling this hook by default, I think
> > a wider discussion is in order.
> >
> > Thanks,
> >
> > /mjt

Reply via email to