I'm taking the liberty of forwarding this discussion to the development
list, because I have a strong suspicion that none of the Freenet
developers read the support list.

"thomas" has discovered that fproxy is leaving unencrypted data files
in /tmp, which if discovered by a malicious party, would eliminate
any deniability of content retrieved via fproxy.

----- Forwarded message from Ed Onken <[EMAIL PROTECTED]> -----

At 12:34 AM 08/21/2002 +0100, Roger Hayter wrote:
>In message <[EMAIL PROTECTED]>, Greg Wooledge 
><[EMAIL PROTECTED]> writes
>>thomas ([EMAIL PROTECTED]) wrote:
>>
>>>- Start fproxy
>>>- connect from a remote PC to the fproxy
>>>- try to browse some freenet sites
>>>- In the /tmp directory on the fproxy box i found many t****** files
>>>- a "file /tmp/t???????" shows me that these files includes 
>>>html/jpg/gif....
>>
>>Wow -- you're right.  There are definitely files being created by the
>>user ID that runs the freenet node (*not* the web browser, as I thought)
>>in /tmp.  I have no idea what these files are used for.
>>
>>For whatever it's worth, on my node, all of the files in /tmp are less
>>than 10 minutes old.
>>
>>Thanks for bringing this to my attention (even though I'm not a Java
>>programmer and therefore can't do much about it).
>If they don't last very long, that's probably why no-one has noticed it 
>before.  I suppose it is pretty inevitable that the plain text of a 
>Freenet request is going to exist on the machine Freenet is running on in 
>some form or other, but actually leaving it in /tmp seems worrying. I hope 
>no-one thought contacting fproxy on someone else's server was in any way 
>anonymous, but this confirms it is trivially easy to read such traffic.
>--
>Roger Hayter

You might want to take a look at freenet.support.FileBucket.  I think the 
culprit you are looking for is the no-arg constructor.  It creates a file 
bucket in a "temporary" directory.  There are a few System properties and a 
couple (Linux and Windows) OS-specific hardcodings in there governing where 
to put the files that are created by the no-arg constructor.  There is a 
finalizer which will delete any new files created by the FileBucket, but 
finalizers are not guaranteed to run, so it's not exactly 100%.  The 
finalizer is probably why the files don't live very long--at least until 
you shut down your node abruptly (cuz there ain't no other way to do it :/)

You might want to set one of the system properties for the JVM running your 
node that are mentioned in the code to force these files to a specific 
location so they can be easily cleaned up manually in case the finalizer 
didn't get a chance to do that.

From a quick grep, I found three places where this consturctor is used 
(there could be more depending on line breaks, etc.):
--freenet.client.cli.CLI
--freenet.client.http.FproxyServlet
--freenet.crypt.ProgressiveHashInputStream

Ed

----- End forwarded message -----

-- 
Greg Wooledge                  |   "Truth belongs to everybody."
[EMAIL PROTECTED]              |    - The Red Hot Chili Peppers
http://wooledge.org/~greg/     |

Attachment: msg03660/pgp00000.pgp
Description: PGP signature

Reply via email to