Control: retitle -1 libxapian30: CVE-2026-77643: previously missed corner case 
of CVE-2018-0499

On Sun, Aug 16, 2026 at 09:14:26PM +0200, Salvatore Bonaccorso wrote:
> Hi Olly,
> 
> On Sun, Aug 16, 2026 at 09:57:33AM +1200, Olly Betts wrote:
> > Package: libxapian30
> > Version: 1.4.31-2
> > Fixed: 1.4.32-1
> > Severity: serious
> > Tags: security
> > Justification: potential security vulnerability
> > X-Debbugs-Cc: Debian Security Team <[email protected]>
> > 
> > This was reported to upstream's public development list:
> > 
> > https://lists.xapian.org/pipermail/xapian-devel/2026-August/003429.html
> > 
> > The bug is missing HTML escaping, potentially allowing an attacker to inject
> > unescaped data into generated HTML search results.  It's effectively a
> > corner case missed when we fixed CVE-2018-0499.
> > 
> > It affects upstream releases 1.4.x for x <= 31 and 2.0.0.
> > Upstream releases 1.4.32 and 2.0.1 include a fix, and I've already
> > uploaded 1.4.32 to unstable and 2.0.1 to experimental.
> > 
> > There are patches here:
> > 
> > https://trac.xapian.org/wiki/SecurityFixes/2018-07-02#a2026-08-13update
> > The actually fix is just this (the patches also add test coverage):
> > 
> > 
> >      if (hi_start.empty() && hi_end.empty() && text.size() <= length) {     
> >    
> > -        // Too easy!
> > -        return text;
> > +        // The text is already short enough so we just need to perform
> > +        // escaping.
> > +        string output;
> > +        append_escaping_xml(text.data(), text.data() + text.size(), 
> > output);
> > +        return output;
> >      }
> > 
> > The 4 variables in the condition are all parameters from the
> > MSet::snippet() API call.  In order to be exploited, hi_start and hi_end
> > need to be passed as empty strings (they have default values which
> > aren't empty).  I'd expect most usage in a web context would want to
> > highlight matching terms in the snippet and so it's probably uncommon to
> > pass empty string here - I looked for an example of such usage with
> > codesearch.d.n but didn't find anything.
> > 
> > However empty highlighting strings are a legitimate way to call this
> > method, and I may have missed an instance, or such use may be present in
> > code that hasn't been packaged for Debian.  Therefore I think we should
> > apply this patch to stable.
> > 
> > I've already contacted the security team and they said we should handle
> > this via a stable update.
> 
> FTR, I requested a CVE for this issue so we can properly track it as
> separate CVE id.

This got CVE-2026-77643 assigned.

Regards,
Salvatore

Reply via email to