GNU bug report logs -
#37196
27.0.50; auth-source no longer obfuscates passwords
Previous Next
Reported by: Lars Ingebrigtsen <larsi <at> gnus.org>
Date: Tue, 27 Aug 2019 10:30:02 UTC
Severity: normal
Tags: fixed, security
Found in version 27.0.50
Fixed in version 27.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Emacs got a better pretty printer for compiled code sometime over the
> last few years, and that means that the obfuscator that auth-source uses
> no longer works. (It puts the password into a closure.)
>
> With the following in ~/.authinfo
>
> machine foo.bar login zot password foobar
>
> we get
>
> (auth-source-search :max 1 :host "foo.bar")
> => ((:host "foo.bar" :user "zot" :secret #[0 "<binary>" [("foobar") (nil)] 3]))
>
> with the "foobar" clearly printed out. This should be fixed by
> obfuscating the password in a different way.
I have now done this --
(auth-source-search :max 1 :host "foo.bar")
=> ((:host "foo.bar" :user "zot" :secret #[0 "..." [(103 112 112 99 98 115) (nil) apply string mapcar 1-] 6]))
It's not exactly super-secret, but I think that's as far as we can get
here. I briefly considered having a per-session nonce stored in memory,
and then using an encryption primitive to obfuscate the data (that would
mean that anybody mistakenly mailing these around wouldn't be able to
root out the password without having access to the running Emacs
instance).
Hm. Now that I typed that, it strikes me that this should be rather
trivial to do with gnutls-symmetric-encrypt on systems where that is
available. I'll give it a go...
> Similarly, the printed representation of auth-source-netrc-cache also
> has the password in clear text now.
This was already OK.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 5 years and 244 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.