[tahoe-lafs-trac-stream] [tahoe-lafs] #2037: cloud/S3 backend fails to redact ProductToken and UserToken from S3 error messages

tahoe-lafs trac at tahoe-lafs.org
Fri Jul 26 01:37:06 UTC 2013


#2037: cloud/S3 backend fails to redact ProductToken and UserToken from S3 error
messages
-------------------------------------------------+-------------------------
 Reporter:  daira                                |          Owner:  daira
     Type:  defect                               |         Status:  new
 Priority:  normal                               |      Milestone:  soon
Component:  unknown                              |        Version:
 Keywords:  security logging s3 cloud-backend    |  1.9.0-s3branch
  ticket999-S3-backend                           |  Launchpad Bug:
-------------------------------------------------+-------------------------
 Here's an example of LeastAuthority.com secrets being leaked in an S3
 error message (I've replaced the actual secrets with
 "THIS_SHOULD_NOT_BE_HERE" for this bug report):
 {{{
 [Failure instance: Traceback: <class
 'lae_automation.endtoend.CheckFailed'>:
  Error for 107.22.17.1: could not create test file: [Failure instance:
 Traceback (failure with no frames):
  <class 'allmydata.mutable.common.NotEnoughServersError'>: ('Publish ran
 out of good servers, last failure was:
  [Failure instance: Traceback (failure with no frames): <class
 \'foolscap.tokens.RemoteException\'>:
  <RemoteException around \'[CopiedFailure instance: Traceback from remote
 host -- Traceback (most recent call last):\n
   File "/usr/local/lib/python2.6/dist-
 packages/Twisted-11.1.0-py2.6-linux-i686.egg/twisted/internet/tcp.py",
 line 277, in connectionLost\n
     protocol.connectionLost(reason)\n
   File "/usr/local/lib/python2.6/dist-
 packages/Twisted-11.1.0-py2.6-linux-i686.egg/twisted/web/client.py", line
 191, in connectionLost\n
     self.factory._disconnectedDeferred.callback(None)\n
   File "/usr/local/lib/python2.6/dist-
 packages/Twisted-11.1.0-py2.6-linux-i686.egg/twisted/internet/defer.py",
 line 362, in callback\n
     self._startRunCallbacks(result)\n
   File "/usr/local/lib/python2.6/dist-
 packages/Twisted-11.1.0-py2.6-linux-i686.egg/twisted/internet/defer.py",
 line 458, in _startRunC\n
 \n-- TRACEBACK ELIDED --\n\n
   client/base.py", line 46, in error_wrapper\n
     raise fallback_error\n
 allmydata.storage.backends.s3.s3_common.TahoeS3Error: (\'400\', \'400 Bad
 Request\',
 \'<?xml version="1.0" encoding="UTF-8"?>\\n
 <Error><Code>InvalidToken</Code>
 <Message>The provided token is malformed or otherwise invalid.</Message>
 <RequestId>266AB3D40D3E8F00</RequestId><HostId>IXcXMiM5tH07dLaANbZsgKe4rqkFF7yMBmfGlhWqZfdd9i6FqUiuUcsgEc6cmrAW</HostId>
 <Token-1>{ProductToken} THIS_SHOULD_NOT_BE_HERE </Token-1>
 <Token-0>{UserToken} THIS_SHOULD_NOT_BE_HERE </Token-0>
 </Error>\')\n
 ]\'>\n]', None)
 }}}
 (The storage server is running ticket999-S3-branch, but the problem also
 occurs for the current 1819-cloud-merge branch.)

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2037>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list