<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Agilebits on Mal Breaks Things</title>
    <link>https://sec.gd/blog/en/tags/agilebits/</link>
    <description>Recent content in Agilebits on Mal Breaks Things</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>mal@sec.gd (mal)</managingEditor>
    <webMaster>mal@sec.gd (mal)</webMaster>
    <copyright>&amp;copy;{year}. [License and Info](/blog/about/)</copyright>
    <lastBuildDate>Wed, 04 Aug 2021 04:00:00 +0000</lastBuildDate>
    <sy:updatePeriod>daily</sy:updatePeriod>
    
        <atom:link href="https://sec.gd/blog/en/tags/agilebits/index.xml" rel="self" type="application/rss+xml" />
    
    
    
      <item>
        <title>1Password&#39;s Privacy Surprises</title>
        <link>https://sec.gd/blog/en/posts/1password-leak-takeover/</link>
        <pubDate>Wed, 04 Aug 2021 04:00:00 +0000</pubDate>
        <author>mal@sec.gd (mal)</author>
        <atom:modified>Wed, 04 Aug 2021 04:00:00 +0000</atom:modified>
        <guid>https://sec.gd/blog/en/posts/1password-leak-takeover/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://1password.com/&#34;&gt;1Password&lt;/a&gt; is a popular password manager by AgileBits.
It&amp;rsquo;s much more reliable and user-friendly than LastPass, and has a $60/yr
family plan&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, so it&amp;rsquo;s what my family uses to keep track of and share
credentials.&lt;/p&gt;
&lt;p&gt;Unfortunately it has a couple of design problems that AgileBits does not feel
should be fixed.&lt;/p&gt;</description>
        <content:encoded>&lt;![CDATA[&lt;p&gt;&lt;a href=&#34;https://1password.com/&#34;&gt;1Password&lt;/a&gt; is a popular password manager by AgileBits.
It&amp;rsquo;s much more reliable and user-friendly than LastPass, and has a $60/yr
family plan&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, so it&amp;rsquo;s what my family uses to keep track of and share
credentials.&lt;/p&gt;
&lt;p&gt;Unfortunately it has a couple of design problems that AgileBits does not feel
should be fixed.&lt;/p&gt;
&lt;p&gt;To be clear up front: These are not critical vulnerabilities. They do not allow
strangers to read your passwords. I still use 1Password, and am not
recommending most people stop using them, only understand these limitations.&lt;/p&gt;
&lt;h2 id=&#34;family-organizer-vault-takeover&#34;&gt;Family Organizer Vault Takeover&lt;/h2&gt;
&lt;p&gt;Users of 1Password can create additional &lt;a href=&#34;https://support.1password.com/create-share-vaults/&#34;&gt;vaults&lt;/a&gt;.
This is how users share stored items (i.e. login information) between accounts:
Create vault, share vault with other user, move Netflix password into shared
vault.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/vaults.png&#34; alt=&#34;Vault list displayed in 1Password: Private, Shared, School, and “Very Boring Research” which has a subtle transgender pride flag icon&#34;&gt;&lt;/p&gt;
&lt;p&gt;This feature also enables separation of stored items between personal, school,
work, and
&lt;a href=&#34;https://www.engadget.com/2016-03-04-multiple-online-identities.html&#34;&gt;alternate identities&lt;/a&gt;.
It&amp;rsquo;s useful to be able to put some things away by switching vaults or removing
some vaults from All Vaults when traveling
(see also: &lt;a href=&#34;https://support.1password.com/travel-mode&#34;&gt;Travel Mode&lt;/a&gt;),
hosting a screenshare, or in some physical environments (work, school, church).&lt;/p&gt;
&lt;h3 id=&#34;the-problem&#34;&gt;The Problem&lt;/h3&gt;
&lt;p&gt;What isn&amp;rsquo;t mentioned anywhere in the vault creation process is that if you&amp;rsquo;re
using a family plan the
&lt;a href=&#34;https://support.1password.com/family-organizer/&#34;&gt;family organizers&lt;/a&gt;
can add themselves to these additional vaults. That information is only shown
on the easily missable Vault Details page, and isn&amp;rsquo;t even clear in their
documentation.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/vault-details.png&#34; alt=&#34;Vault Details page showing “All family organizers can also manage this vault” under the People section&#34;&gt;&lt;/p&gt;
&lt;p&gt;I first discovered this when I noticed I could add myself to a vault shared
between my parents and grant myself full permissions. I wrote to their support
in 2019 asking if this was intended and how to create a vault organizers
couldn&amp;rsquo;t add themselves to. Their first response actually said that family
organizers &amp;ldquo;cannot manage any of your vaults unless they have explicit
permission to that vault&amp;rdquo;, which would be great if not demonstrably untrue.
When asked for clarification, I was informed that only the default vault named
&amp;ldquo;Private&amp;rdquo; is inaccessable, and all others can be accessed by family organizers.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/takeover1.png&#34; alt=&#34;Vaults page, as seen by the family organizer, showing the “Shared” vault as well as “School” and “Very Boring Researh” from the family member’s account&#34;&gt;
Family organizers can see all secondary vaults created by family members.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/takeover2.png&#34; alt=&#34;Vault Details page as seen by the administrator, with a “Manage” button above the list of authorized users&#34;&gt;
They can see the details, delete the vault, or manage its users.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/manage-family-members.png&#34; alt=&#34;“Manage Family Members” dialog, offering the family organizer a checkbox to add themselves to the vault&#34;&gt;
Just a checkbox to gain access.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/takeover-vault-contents.png&#34; alt=&#34;Vault contents screenshot, showing credentials for trans and LGBT resources, and a twitter account with a name other than the family member’s given name&#34;&gt;
I wonder what they&amp;rsquo;re hiding from me? Luckily, I have no morals, so I can find
out without having to interact with my child.&lt;/p&gt;
&lt;p&gt;When I add myself to a vault this way, there are no notifications,
confirmations, or logs&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;. I can add myself, create a backup of the entire
vault, and remove myself, and the authorized users would never know.&lt;/p&gt;
&lt;p&gt;At best, this makes vaults useless for many situations. I&amp;rsquo;m contractually
prohibited from sharing some credentials with anyone else, so if I add another
family organizer as best practice suggests, I can no longer separate work
credentials using a vault.&lt;/p&gt;
&lt;p&gt;At worst, this could allow a parent to violate a child&amp;rsquo;s privacy in unexpected
ways, or an employer to violate an employee&amp;rsquo;s&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; - not just revealing the
sites used but directly and unauditably granting access to them.&lt;/p&gt;
&lt;p&gt;If this was clear to users, I would be disappointed, but I wouldn&amp;rsquo;t be writing
this post. The problem is that it&amp;rsquo;s not - it&amp;rsquo;s unexpected in the most
unpleasant way from a password manager.&lt;/p&gt;
&lt;h3 id=&#34;potential-mitigations&#34;&gt;Potential Mitigations&lt;/h3&gt;
&lt;h4 id=&#34;minimum&#34;&gt;Minimum&lt;/h4&gt;
&lt;p&gt;Transparency. Make clear in the vault creation flow that family organizers can
gain access to it. Send a notification and/or email to authorized vault users
on membership changes.&lt;/p&gt;
&lt;h4 id=&#34;preferred&#34;&gt;Preferred&lt;/h4&gt;
&lt;p&gt;Cryptographic and server control. Do not encrypt vault keys for anyone not
explicitly authorized to have access except in the same manner as account
recovery, and do not send the vault data to anyone not explicitly authorized.&lt;/p&gt;
&lt;h3 id=&#34;workarounds&#34;&gt;Workarounds&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;As support suggested to me, use
&lt;a href=&#34;https://support.1password.com/favorites-tags/&#34;&gt;tags&lt;/a&gt; instead of vaults, and
give up the vault-based features.&lt;/li&gt;
&lt;li&gt;Abandon redundancy and be the only family organizer, and tell your family
members that they aren&amp;rsquo;t able to create vaults you don&amp;rsquo;t have access to.&lt;/li&gt;
&lt;li&gt;Use only individual accounts, giving up the family plan discount and
group-based features.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;leaking-metadata-to-network-admins&#34;&gt;Leaking Metadata to Network Admins&lt;/h2&gt;
&lt;p&gt;Unlike the first, this problem applies to all accounts - Individual, family,
and business, whether subscription or app-licensed. When the 1Password app or
browser addon shows vault entries, it shows an icon for each website. Instead
of being saved in your vault, they&amp;rsquo;re requested from the server when they&amp;rsquo;re
shown. The Windows desktop app appears to cache them, but the browser addon
appears to request them again each time they&amp;rsquo;re shown.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/browser-ui.png&#34; alt=&#34;Screenshot of 1Password browser addon, showing site logins with the site icon next to them&#34;&gt;&lt;/p&gt;
&lt;p&gt;Normally the privacy impact of this is what they describe on their
&lt;a href=&#34;https://support.1password.com/rich-icons-privacy/&#34;&gt;rich icon privacy&lt;/a&gt;
page: Your network sees that you use 1password, and the CDN sees your IP
address and the domain you&amp;rsquo;re requesting an icon for. This isn&amp;rsquo;t ideal but is
acceptable to most users. Others can disable it, assuming they notice and
understand the setting, &lt;em&gt;and&lt;/em&gt; that they&amp;rsquo;re not using the browser
extension, where the setting doesn&amp;rsquo;t exist.&lt;/p&gt;
&lt;h3 id=&#34;the-problem-1&#34;&gt;The Problem&lt;/h3&gt;
&lt;p&gt;Many schools and companies use SSL/TLS inspection (TLSi) either to restrict
what content is available from the network or to ensure sensitive information
is not being sent out of the network. TLSi works by requiring every device to
add a new trusted certificate authority, and then signing a new TLS certificate
for every site a device tries to contact. The end result is that the user sees
the usual &lt;code&gt;🔒 https://...&lt;/code&gt; in their browser and everything works normally, but
when their traffic reaches the system performing inspection, it&amp;rsquo;s decrypted,
scanned, potentially logged, and then re-encrypted and passed along.&lt;/p&gt;
&lt;p&gt;This means that every time the user clicks the 1Password button, opens their
vault, or has the autofill popover show up, their school or workplace will get
logs like these:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../images/1password-leak-takeover/icon-requests.png&#34; alt=&#34;Fiddler request log, showing icon requests to c.1password.com for domains like ntcc.edu and transtexas.org&#34;&gt;
&lt;em&gt;SSL added and removed here! :)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Depending on the domain and the aggressiveness of web filters, this may even
trigger automated alerts to administrators, including the wildly inappropriate
&amp;ldquo;adult content&amp;rdquo; classification for LGBTQ+ resources. These alerts are often
passed along to parents or supervisors for disciplinary action.&lt;/p&gt;
&lt;p&gt;When I contacted support about this, I was referred to their rich icon privacy
documentation page.&lt;/p&gt;
&lt;p&gt;Users expect password managers to do everything possible to keep their
contents, including the metadata, private. In situations where an unavoidable
environment like work or school may disagree with parts of a 1Password user&amp;rsquo;s
personal life, this expectation is put to the test, and its failure may have
significant consequences.&lt;/p&gt;
&lt;h3 id=&#34;potential-mitigations-1&#34;&gt;Potential Mitigations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ideally, store images encrypted for the user, encrypt requests. This would
increase server disk space needs and load. Alternatively:&lt;/li&gt;
&lt;li&gt;Pin the keys of the CDNs so inspection devices don&amp;rsquo;t see the requested URLs.
This slightly degrades the user experinece, but I feel this is a more than
acceptable tradeoff in those cases. Unfortunately this probably isn&amp;rsquo;t
possible in the browser extension.&lt;/li&gt;
&lt;li&gt;Implement a setting to disable rich icons in the browser addon&lt;/li&gt;
&lt;li&gt;Obfuscate, e.g. encrypt images with &lt;code&gt;hash(domain)&lt;/code&gt;, request with
&lt;code&gt;hash(hash(domain))&lt;/code&gt;. Defeats trivial observation, but doesn&amp;rsquo;t prevent
confirmation of known domains.&lt;/li&gt;
&lt;li&gt;Cache icons for as long as possible to reduce the amount/chance of
information leaking.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;workarounds-1&#34;&gt;Workarounds&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Don&amp;rsquo;t use 1Password in TLS-inspected environments.&lt;/li&gt;
&lt;li&gt;Disable vaults containing sensitive domains when in a TLS-inspected
environment, if the above issue with vaults doesn&amp;rsquo;t preclude their use.&lt;/li&gt;
&lt;li&gt;I haven&amp;rsquo;t found a way to block the requests with uBlock Origin or even
uMatrix, so&amp;hellip; Accept the risk, or disable the browser addon when in
TLS-inspected environments.&lt;/li&gt;
&lt;li&gt;Disable rich icons in settings, or don&amp;rsquo;t use the apps either in
TLS-inspected environments.&lt;/li&gt;
&lt;li&gt;Ideally, use a VPN like Wireguard to escape TLS-inspected environments and
never install new trusted certificate authorities regardless of this issue.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1password-cli-leaks&#34;&gt;1Password CLI Leaks&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Added 2021-09-29&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As reported by Graham Christensen, the 1Password CLI tool (&lt;code&gt;op&lt;/code&gt;) exposes
sensitive information including passwords to all other users and processes on
your system through command arguments.&lt;/p&gt;
&lt;p&gt;AgileBits are aware of this and consider it not a problem.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Luckily&amp;rdquo;, unlike other password managers&amp;rsquo; command line tools, &lt;code&gt;op&lt;/code&gt; is quite
difficult to use as a human - its interfaces almost seem to be intended as an
API instead of for direct use.&lt;/p&gt;
&lt;p&gt;Read more about this problem in Graham&amp;rsquo;s &lt;a href=&#34;https://twitter.com/grhmc/status/1443037314817695744&#34;&gt;twitter thread&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;mal-whining&#34;&gt;Mal Whining&lt;/h2&gt;
&lt;p&gt;While I&amp;rsquo;m writing about 1Password, I may as well mention the other things that
I&amp;rsquo;d like to see changed.&lt;/p&gt;
&lt;h3 id=&#34;inactive-account-management&#34;&gt;Inactive Account Management&lt;/h3&gt;
&lt;p&gt;As described in the
&lt;a href=&#34;https://1password.com/files/1Password-White-Paper.pdf#page=38&#34;&gt;whitepaper&lt;/a&gt;,
there is a mechanism for assisting family members or team members with vault
recovery. A simplified explanation is that the server holds a copy of each
family member&amp;rsquo;s vault key, encrypted so only family organizers can access it.
If I initiate recovery for my mother&amp;rsquo;s vault, she receives an email allowing
her to create new keys. Once she&amp;rsquo;s done so, the server gives me the encrypted
vault key (but not the vault data) so I can re-encrypt it with her new public
key.&lt;/p&gt;
&lt;p&gt;This is about as good as I can ask for a user-friendly recovery system, but I
would like to see the ability to configure my account to grant access to
&lt;strong&gt;specific vaults&lt;/strong&gt; to a family member if I don&amp;rsquo;t sign in for some number of
months and don&amp;rsquo;t respond to emails or text messages.&lt;/p&gt;
&lt;p&gt;The cryptographic features are already there, this mode would just skip the
email confirmation, and the server would grant vault data access as well.&lt;/p&gt;
&lt;h3 id=&#34;backups&#34;&gt;Backups&lt;/h3&gt;
&lt;p&gt;As mentioned, the Linux app is not feature-complete, and there&amp;rsquo;s no way to
grant access to vaults automatically if I&amp;rsquo;m run over by a bus. It would be
great if the ability to make backups was prioritized for either Linux or
the web interface.&lt;/p&gt;
&lt;h3 id=&#34;container-incompatibility&#34;&gt;Container Incompatibility&lt;/h3&gt;
&lt;p&gt;Firefox has a great feature called
&lt;a href=&#34;https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers&#34;&gt;Container Tabs&lt;/a&gt;
that allows easy separation of multiple accounts, identities, or contexts. I
use it extensively to keep work accounts in one container, personal in another,
and stay signed out in the default container.&lt;/p&gt;
&lt;p&gt;When selecting &amp;ldquo;Open &amp;amp; Fill&amp;rdquo; in the 1Password extension, it creates a new tab
in the default container, and uses that to navigate to the site. This means
the only way to sign in to a site in a chosen container is to copy the link and
paste it into a new container tab manually.&lt;/p&gt;
&lt;p&gt;I &lt;a href=&#34;https://1password.community/discussion/95984/&#34;&gt;brought this up&lt;/a&gt; on their
forum in 2018, and for a few versions the extension would reuse the existing
new container tab if present, but then it stopped working again, and they
&lt;a href=&#34;https://1password.community/discussion/comment/502084/#Comment_502084&#34;&gt;still&lt;/a&gt;
&lt;a href=&#34;https://1password.community/discussion/comment/548227/#Comment_548227&#34;&gt;haven&amp;rsquo;t&lt;/a&gt;
&lt;a href=&#34;https://twitter.com/TryCatchPass/status/1390076529246363650&#34;&gt;fixed it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If they wanted to, they could build neat integrations, like having
the extension always open a login (or even just anything in a particular vault)
in a configured container. For now, all I ask is to not override my choice.&lt;/p&gt;
&lt;h3 id=&#34;getting-to-the-web-interface&#34;&gt;Getting to the web interface&lt;/h3&gt;
&lt;p&gt;Nearly all of the management of vault items and account settings is done
through either the web interface or one of the applications. The Linux app is
currently in beta and not feature-complete, and typing on a phone is tedious,
so I&amp;rsquo;m left with the web app. (2022 update: The linux app is improving, and I
can access that by clicking the icon in my taskbar, but this annoyance remains
for those who don&amp;rsquo;t use the desktop app.)&lt;/p&gt;
&lt;p&gt;To access the web app, I can either go to the site and enter my password again,
or I can have the extension open it alreay authenticated.&lt;/p&gt;
&lt;p&gt;For some reason, the only way I&amp;rsquo;ve found to do this is to click the extension&amp;rsquo;s
icon, click the settings gear, click Settings, scroll to the bottom, click one
of the vault names, and then navigate where I need to go in the web interface.&lt;/p&gt;
&lt;p&gt;Could we get a link next to Settings that&amp;rsquo;s just &amp;ldquo;Manage from web&amp;rdquo;?&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;1Password is also available without the web/sync features as a one-time
purchase. I expect everything described here to apply to that use as well,
but it&amp;rsquo;s not what AgileBits are pushing, and I don&amp;rsquo;t want to buy it to test.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Business plans may expose audit logs. I don&amp;rsquo;t have one to test, but I
would be surprised if those logs were made available to normal users.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;This is less clear, as many employers have policies stating employees
have no expectation of privacy. I would argue that employees should be
reminded of this at every point where it might be important.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
]]></content:encoded>
        <dc:creator>mal</dc:creator>
        <media:content url="https://sec.gd/blog/images/1password-leak-takeover/manage-family-members.png" medium="image"><media:title type="html">featured image</media:title></media:content>
        
        
        
          
            
              <category>closed:notabug</category>
            
          
            
              <category>1password</category>
            
          
            
              <category>agilebits</category>
            
          
        
        
        
      </item>
    
  </channel>
</rss>