Adium

Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#15724 closed defect (fixed)

Leaks when pasting data into chat box

Reported by: hellais Owned by: sphynx
Milestone: Adium 1.5.8 Component: Adium Core
Version: Severity: normal
Keywords: security privacy tor Cc:
Patch Status:

Description (last modified by wixardy)

Summary

I have Adium configured to use a SOCKS5 proxy, but when I copy and paste some text from a website that contains images it does a request to that website trying to fetch that content.

Steps to reproduce

  1. Configure Adium to use SOCKS5 Proxy
  2. Select all text from this webpage: #15161 (cmd-A) and paste it into a chat
  3. With little snitch I see a request being made on port 80 to trac.adium.im

Expected results

I expect Adium not to be doing random unexpected requests to sites or at the very least if it *must* do so that it is done from inside the proxied environment.

Actual results

Some random request is being made

Notes

This is a crucial security and privacy bug.

Change History (21)

comment:1 follow-up: Changed 5 years ago by wixardy

  • Description modified (diff)

Are you sending the message or just pasting it into the textfield? And is this different from TextEdit, iChat, Mail, etc?

comment:2 in reply to: ↑ 1 Changed 5 years ago by hellais

Replying to wixardy:

Are you sending the message or just pasting it into the textfield? And is this different from TextEdit, iChat, Mail, etc?

The message is not being sent, the request happens when it is pasted directly into the text field even if the message is not sent. I have tested with TextEdit and it does not do this weird request when I paste the same content.

comment:3 follow-up: Changed 5 years ago by kbotc

I don't see it in textedit, but I do see it in Mail when I paste. Can you confirm this? This may not be a trivial rewrite (Likely, supporting WebArchive pasteboard will do it, but AFAICT, it is completely undocumented.

comment:4 in reply to: ↑ 3 ; follow-up: Changed 5 years ago by hellais

Replying to kbotc:

I don't see it in textedit, but I do see it in Mail when I paste. Can you confirm this? This may not be a trivial rewrite (Likely, supporting WebArchive pasteboard will do it, but AFAICT, it is completely undocumented.

In Apple Mail Version 5.1 (1251/1251.1) (OSX 10.7.2) it does not happen, both when composing a plain text email and a rich text one.

Can't we remove all rich formatting from the text before making it enter the view?

Last edited 5 years ago by hellais (previous) (diff)

comment:5 in reply to: ↑ 4 ; follow-up: Changed 5 years ago by kbotc

Replying to hellais:

Replying to kbotc:

I don't see it in textedit, but I do see it in Mail when I paste. Can you confirm this? This may not be a trivial rewrite (Likely, supporting WebArchive pasteboard will do it, but AFAICT, it is completely undocumented.

In Apple Mail Version 5.1 (1251/1251.1) (OSX 10.7.2) it does not happen, both when composing a plain text email and a rich text one.

Can't we remove all rich formatting from the text before making it enter the view?

Which version of Adium are you using? I'm not seeing the request for a normal paste in 1.5b8. I do see it if I paste with Images and Colors. (command-shift-V). Mail in Rich Text mode definitely does requests on my side (CocoaPacketAnalyzer confirms this for me). TextEdit doesn't (Because it supports WebArchive pastes).

comment:6 in reply to: ↑ 5 Changed 5 years ago by hellais

Replying to kbotc:

Replying to hellais:

Replying to kbotc:

I don't see it in textedit, but I do see it in Mail when I paste. Can you confirm this? This may not be a trivial rewrite (Likely, supporting WebArchive pasteboard will do it, but AFAICT, it is completely undocumented.

In Apple Mail Version 5.1 (1251/1251.1) (OSX 10.7.2) it does not happen, both when composing a plain text email and a rich text one.

Can't we remove all rich formatting from the text before making it enter the view?

Which version of Adium are you using? I'm not seeing the request for a normal paste in 1.5b8. I do see it if I paste with Images and Colors. (command-shift-V). Mail in Rich Text mode definitely does requests on my side (CocoaPacketAnalyzer confirms this for me). TextEdit doesn't (Because it supports WebArchive pastes).

I am running Adium 1.4.4 and I see the requests going out for both rich paste (cmd-shit-v) and normal paste (cmd-v).

So basically the resolution is done automatically by some primitives of Cocoa? What is the logic behind that, since the final result does not contain images because it's only text?

comment:7 follow-up: Changed 5 years ago by kbotc

Hmmm... the most I play with this, the less reproducible it seems to be. I just opened Adium fresh, went to the ticket you said, Command-A. Copy. Over to Adium. Started the packet capture, then pasted with all three options, and not a single request went out to 74.63.12.193. I then opened Mail and pasted, and then the requests started rolling in. Are you running some third party software that may be modifying something and sending the request out for you?

comment:8 in reply to: ↑ 7 Changed 5 years ago by hellais

Replying to kbotc:

Hmmm... the most I play with this, the less reproducible it seems to be. I just opened Adium fresh, went to the ticket you said, Command-A. Copy. Over to Adium. Started the packet capture, then pasted with all three options, and not a single request went out to 74.63.12.193. I then opened Mail and pasted, and then the requests started rolling in. Are you running some third party software that may be modifying something and sending the request out for you?

I must say that it has happened now that I was unable to reproduce it a few times, however these are the steps that I use to reproduce.

  1. Get a random webpage containing images (a ticket on trac.adium.im is fine)
  2. Select all the page
  3. start tcpdump like this: tcpdump -vvv -i en1 dst 74.63.12.193
  4. Paste the copied thing into an open chat window in the text area.

This is what I see in tcpdump going through the wire:

19:13:08.009372 IP (tos 0x0, ttl 64, id 20172, offset 0, flags [DF], proto TCP (6), length 64)
    XXXXXXXXXXXXXXXXXXX.59805 > eider.adium.im.http: Flags [S], cksum 0x7965 (correct), seq 288812394, win 65535, options [mss 1460,nop,wscale 1,nop,nop,TS val 624203208 ecr 0,sackOK,eol], length 0
19:13:08.010155 IP (tos 0x0, ttl 64, id 15043, offset 0, flags [DF], proto TCP (6), length 64)
    XXXXXXXXXXXXXXXXXXX.59806 > eider.adium.im.http: Flags [S], cksum 0x876c (correct), seq 3485016287, win 65535, options [mss 1460,nop,wscale 1,nop,nop,TS val 624203208 ecr 0,sackOK,eol], length 0
19:13:08.010251 IP (tos 0x0, ttl 64, id 32421, offset 0, flags [DF], proto TCP (6), length 64)
    XXXXXXXXXXXXXXXXXXX.59807 > eider.adium.im.http: Flags [S], cksum 0x7d99 (correct), seq 3968142820, win 65535, options [mss 1460,nop,wscale 1,nop,nop,TS val 624203209 ecr 0,sackOK,eol], length 0
19:13:08.214013 IP (tos 0x0, ttl 64, id 10901, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59805 > eider.adium.im.http: Flags [.], cksum 0x9a72 (correct), seq 288812395, ack 3074578515, win 33120, options [nop,nop,TS val 624203410 ecr 2152991897], length 0
19:13:08.214075 IP (tos 0x0, ttl 64, id 48818, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59806 > eider.adium.im.http: Flags [.], cksum 0x72d1 (correct), seq 3485016288, ack 3080293794, win 33120, options [nop,nop,TS val 624203410 ecr 2152991899], length 0
19:13:08.214991 IP (tos 0x0, ttl 64, id 34043, offset 0, flags [DF], proto TCP (6), length 315)
    XXXXXXXXXXXXXXXXXXX.59805 > eider.adium.im.http: Flags [P.], cksum 0x2d54 (correct), seq 0:263, ack 1, win 33120, options [nop,nop,TS val 624203410 ecr 2152991897], length 263
19:13:08.215531 IP (tos 0x0, ttl 64, id 25561, offset 0, flags [DF], proto TCP (6), length 307)
    XXXXXXXXXXXXXXXXXXX.59806 > eider.adium.im.http: Flags [P.], cksum 0xb454 (correct), seq 0:255, ack 1, win 33120, options [nop,nop,TS val 624203411 ecr 2152991899], length 255
19:13:08.216593 IP (tos 0x0, ttl 64, id 17048, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59807 > eider.adium.im.http: Flags [.], cksum 0xe895 (correct), seq 3968142821, ack 3074625116, win 33120, options [nop,nop,TS val 624203412 ecr 2152991903], length 0
19:13:08.217162 IP (tos 0x0, ttl 64, id 38793, offset 0, flags [DF], proto TCP (6), length 312)
    XXXXXXXXXXXXXXXXXXX.59807 > eider.adium.im.http: Flags [P.], cksum 0x3dfa (correct), seq 0:260, ack 1, win 33120, options [nop,nop,TS val 624203412 ecr 2152991903], length 260
19:13:08.425066 IP (tos 0x0, ttl 64, id 61869, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59805 > eider.adium.im.http: Flags [.], cksum 0x9457 (correct), seq 263, ack 1771, win 32235, options [nop,nop,TS val 624203614 ecr 2152992108], length 0
19:13:08.425235 IP (tos 0x0, ttl 64, id 50389, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59805 > eider.adium.im.http: Flags [.], cksum 0x90e1 (correct), seq 263, ack 1772, win 33120, options [nop,nop,TS val 624203614 ecr 2152992108], length 0
19:13:08.425636 IP (tos 0x0, ttl 64, id 44435, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59805 > eider.adium.im.http: Flags [F.], cksum 0x90e0 (correct), seq 263, ack 1772, win 33120, options [nop,nop,TS val 624203614 ecr 2152992108], length 0
19:13:08.427441 IP (tos 0x0, ttl 64, id 15329, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59806 > eider.adium.im.http: Flags [.], cksum 0x6f55 (correct), seq 255, ack 438, win 32901, options [nop,nop,TS val 624203615 ecr 2152992113], length 0
19:13:08.427531 IP (tos 0x0, ttl 64, id 40838, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59806 > eider.adium.im.http: Flags [.], cksum 0x6f54 (correct), seq 255, ack 439, win 32901, options [nop,nop,TS val 624203615 ecr 2152992113], length 0
19:13:08.429465 IP (tos 0x0, ttl 64, id 52455, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59806 > eider.adium.im.http: Flags [F.], cksum 0x6e76 (correct), seq 255, ack 439, win 33120, options [nop,nop,TS val 624203617 ecr 2152992113], length 0
19:13:08.440979 IP (tos 0x0, ttl 64, id 31978, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59807 > eider.adium.im.http: Flags [.], cksum 0xe4d0 (correct), seq 260, ack 538, win 32851, options [nop,nop,TS val 624203628 ecr 2152992124], length 0
19:13:08.441022 IP (tos 0x0, ttl 64, id 3262, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59807 > eider.adium.im.http: Flags [.], cksum 0xe4cf (correct), seq 260, ack 539, win 32851, options [nop,nop,TS val 624203628 ecr 2152992124], length 0
19:13:08.441723 IP (tos 0x0, ttl 64, id 51948, offset 0, flags [DF], proto TCP (6), length 52)
    XXXXXXXXXXXXXXXXXXX.59807 > eider.adium.im.http: Flags [F.], cksum 0xe3c1 (correct), seq 260, ack 539, win 33120, options [nop,nop,TS val 624203628 ecr 2152992124], length 0

An also little snitch alerts me that it is coming from Adium the request.

comment:9 follow-up: Changed 5 years ago by kbotc

[kbotc@gungnir:~/Developer/adium]# sudo tcpdump -vvv -i en0 dst 74.63.12.193
Password:
tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
765 packets received by filter
0 packets dropped by kernel
[kbotc@gungnir:~/Developer/adium]# 

What OS are you running? I'm on 10.7.2 and running Adium rev e857285aa973.

Can you open Activity Monitor, inspect Adium, and copy/paste your open files and ports?

comment:10 in reply to: ↑ 9 Changed 5 years ago by hellais

Replying to kbotc:

[kbotc@gungnir:~/Developer/adium]# sudo tcpdump -vvv -i en0 dst 74.63.12.193
Password:
tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
765 packets received by filter
0 packets dropped by kernel
[kbotc@gungnir:~/Developer/adium]# 

What OS are you running? I'm on 10.7.2 and running Adium rev e857285aa973.

Can you open Activity Monitor, inspect Adium, and copy/paste your open files and ports?

I'm on 10.7.2 running Adium rev 229b6b0dde50 (I the revision is the AIBuildIdentifier in Info.plist)

/
/Applications/Adium.app/Contents/MacOS/Adium
/Applications/Adium.app/Contents/Frameworks/AIUtilities.framework/Versions/A/AIUtilities
/Applications/Adium.app/Contents/Frameworks/AdiumLibpurple.framework/Versions/A/AdiumLibpurple
/Applications/Adium.app/Contents/Frameworks/Adium.framework/Versions/A/Adium
/Applications/Adium.app/Contents/Frameworks/libglib.framework/Versions/2.0.0/libglib
/Applications/Adium.app/Contents/Frameworks/libgmodule.framework/Versions/2.0.0/libgmodule
/Applications/Adium.app/Contents/Frameworks/libgobject.framework/Versions/2.0.0/libgobject
/Applications/Adium.app/Contents/Frameworks/libgthread.framework/Versions/2.0.0/libgthread
/Applications/Adium.app/Contents/Frameworks/libintl.framework/Versions/8/libintl
/Applications/Adium.app/Contents/Frameworks/libmeanwhile.framework/Versions/1/libmeanwhile
/Applications/Adium.app/Contents/Frameworks/libpurple.framework/Versions/0/libpurple
/usr/lib/libcrypto.0.9.7.dylib
/Applications/Adium.app/Contents/Frameworks/FriBidi.framework/Versions/A/FriBidi
/Applications/Adium.app/Contents/Frameworks/AutoHyperlinks.framework/Versions/A/AutoHyperlinks
/Applications/Adium.app/Contents/Frameworks/RBSplitView.framework/Versions/A/RBSplitView
/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling
/Applications/Adium.app/Contents/Frameworks/Sparkle.framework/Versions/A/Sparkle
/Applications/Adium.app/Contents/Frameworks/OTR.framework/Versions/A/OTR
/Applications/Adium.app/Contents/Frameworks/LMX.framework/Versions/A/LMX
/Applications/Adium.app/Contents/Frameworks/OAuthConsumer.framework/Versions/A/OAuthConsumer
/Applications/Adium.app/Contents/Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib
/System/Library/ColorSync/Profiles/sRGB Profile.icc
/System/Library/Caches/com.apple.IntlDataCache.le.kbdx
/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn
/System/Library/Frameworks/SecurityInterface.framework/Versions/A/Resources/CertSmallStd.tif
/usr/share/icu/icudt46l.dat
/System/Library/Fonts/LucidaGrande.ttc
/usr/lib/libgermantok.dylib
/Users/y/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.FFF259DC0CE2657847BBB4AFF0E62062EFC56543.1/PrivateEncryptedDatak
/System/Library/Address Book Plug-Ins/LocalSource.sourcebundle/Contents/MacOS/LocalSource
/System/Library/Address Book Plug-Ins/DirectoryServices.sourcebundle/Contents/MacOS/DirectoryServices
/private/var/db/mds/messages/se_SecurityMessages
/private/var/folders/th/ftm_xkbs68s6vkxhg6wdyjbc0000gn/C/com.apple.scriptmanager.le.cache
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Extras2.rsrc
/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources/SArtFile.bin
/System/Library/Keyboard Layouts/AppleKeyboardLayouts.bundle/Contents/Resources/AppleKeyboardLayouts-L.dat
/System/Library/Fonts/Keyboard.ttf
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/HIToolbox.rsrc
/private/var/folders/th/ftm_xkbs68s6vkxhg6wdyjbc0000gn/C/mds/mdsDirectory.db
/usr/lib/sasl2/apop.so
/usr/lib/sasl2/dhx.so
/usr/lib/sasl2/libanonymous.2.so
/Library/Fonts/Verdana Italic.ttf
/Users/y/Library/Keychains/login.keychain
/Users/y/Library/Keychains/Registrations.keychain
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/English.lproj/Localized.rsrc
/usr/lib/sasl2/libcrammd5.2.so
/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources/ArtFile.bin
/usr/lib/sasl2/digestmd5WebDAV.so
/usr/lib/sasl2/libdigestmd5.2.so
/usr/lib/sasl2/libgssapiv2.2.0.18.so
/usr/lib/sasl2/login.so
/usr/lib/sasl2/libntlm.so
/usr/lib/sasl2/libotp.2.so
/usr/lib/sasl2/libplain.2.so
/usr/lib/sasl2/libpps.so
/usr/lib/sasl2/mschapv2.so
/usr/lib/sasl2/shadow_auxprop.so
/usr/lib/sasl2/smb_nt.so
/usr/lib/sasl2/smb_ntlmv2.so
/Users/y/Library/Keychains/Secure.keychain
/System/Library/PrivateFrameworks/PasswordServer.framework/Versions/A/PasswordServer
/System/Library/PrivateFrameworks/XQuery.framework/Versions/A/XQuery
/Library/Keychains/System.keychain
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Resources/tokruleLE.data
/System/Library/Frameworks/AppKit.framework/Versions/C/Resources/Latn1.data
/System/Library/Keychains/SystemRootCertificates.keychain
/System/Library/Frameworks/AppKit.framework/Versions/C/Resources/Latn2.data
/Users/y/Library/Caches/com.adiumX.adiumX/com.apple.opencl/com.apple.ocl.32.maps
/System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLEngine.bundle/GLEngine
/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
/System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLRendererFloat.bundle/GLRendererFloat
/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/Resources/com.apple.datadetectorscore.cache.urlifier.system
/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libcldcpuengine.dylib
/Users/y/Library/Caches/com.adiumX.adiumX/com.apple.opencl/com.apple.ocl.32.data
/Library/Fonts/Trebuchet MS.ttf
/Users/y/Library/Keychains/login 2.keychain
/Library/Fonts/Verdana.ttf
/System/Library/Fonts/Monaco.dfont
/Library/Fonts/Verdana Bold.ttf
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/ImageFormats/unorm8_bgra.dylib
/System/Library/Fonts/Helvetica.dfont
/System/Library/Fonts/AquaKana.ttc
/usr/share/langid/langid.inv
/usr/share/germantok/german.index
/System/Library/Fonts/Courier.dfont
/private/var/folders/th/ftm_xkbs68s6vkxhg6wdyjbc0000gn/C/com.apple.LaunchServices-034501.csstore
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/ImageFormats/unorm8_rgba.dylib
/System/Library/Fonts/HelveticaNeue.dfont
/System/Library/Fonts/Times.dfont
/Library/Fonts/Arial.ttf
/Library/Fonts/Arial Bold.ttf
/System/Library/Extensions/GeForceGLDriver.bundle/Contents/MacOS/GeForceGLDriver
/usr/lib/dyld
/private/var/db/dyld/dyld_shared_cache_i386
/Applications/Adium.app/Contents/Frameworks/PSMTabBarControl.framework/Versions/A/PSMTabBarControl
/Applications/Adium.app/Contents/Frameworks/Growl.framework/Versions/A/Growl
/dev/null
->0xffffff80184c12e0
->0xffffff80184c12e0
count=1, state=0x2
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Extras2.rsrc
/Users/y/Library/Saved Application State/com.adiumX.adiumX.savedState/data.data
/Users/y/Library/Application Support/AddressBook/AddressBook-v22.abcddb
FNetwork.defaultStorageSession
->0xffffff8018539708
/Users/y/Library/Caches/com.adiumX.adiumX/Cache.db
/Users/y/Library/Preferences/com.adiumX.adiumX.plist.lockfile
/Users/y/Library/Caches/com.adiumX.adiumX/Cache.db
localhost:59593->localhost:9050
->0xffffff801853a450
->0xffffff8017483c88
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/HIToolbox.rsrc
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/English.lproj/Localized.rsrc
/Users/y/Library/Preferences/com.apple.AddressBook.plist.lockfile
/dev/random
*:59656
/dev/random
/Library/Caches/com.nvidia.OpenGL/1570AD94-BFF7-3660-A6C5-64F3004B2572/A0A341DD4F718E23/ACE52461-CBD5-9440-97DF-611C7F9EB8CE.toc
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Resources/tokruleLE.data
/usr/share/langid/langid.inv
/Library/Caches/com.nvidia.OpenGL/1570AD94-BFF7-3660-A6C5-64F3004B2572/A0A341DD4F718E23/ACE52461-CBD5-9440-97DF-611C7F9EB8CE.bin
/Users/y/Library/Caches/com.adiumX.adiumX/com.apple.opencl/com.apple.ocl.32.maps
/Users/y/Library/Caches/com.adiumX.adiumX/com.apple.opencl/com.apple.ocl.32.data
/dev/urandom
/usr/share/germantok/german.index
/Users/y/Library/Preferences/ByHost/com.apple.HIToolbox.2ABE5C33-6F5F-5DF5-8116-2DFC5CF844D6.plist.lockfile

comment:11 Changed 5 years ago by kbotc

I see one bit of data WAY out of place.

Why is /Users/y/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.FFF259DC0CE2657847BBB4AFF0E62062EFC56543.1/PrivateEncryptedDatak being loaded into Adium? I'm certain we don't ask for that anywhere.

comment:12 Changed 5 years ago by kbotc

I cannot reproduce this, so I'll leave this open to see if any other dev can reproduce the issue.

comment:13 Changed 5 years ago by Robby

kbotc, you're using 1.5, right? I believe hellais is on 1.4.4.

Last edited 5 years ago by Robby (previous) (diff)

comment:14 Changed 5 years ago by kbotc

I tried with 1.4.4 as well.

comment:15 Changed 4 years ago by sphynx

  • Owner set to sphynx
  • Status changed from new to assigned

I was trying this again today, and I did manage to reproduce it.

For my own future reference, here's the backtrace when connect is called for the embedded images:

* thread #1: tid = 0x84660b, 0x00007fff8fe43686 libsystem_kernel.dylib`mach_msg_trap + 10, queue = 'com.apple.main-thread
    frame #0: 0x00007fff8fe43686 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff8fe42c42 libsystem_kernel.dylib`mach_msg + 70
    frame #2: 0x00007fff87d04233 CoreFoundation`__CFRunLoopServiceMachPort + 195
    frame #3: 0x00007fff87d09916 CoreFoundation`__CFRunLoopRun + 1078
    frame #4: 0x00007fff87d090e2 CoreFoundation`CFRunLoopRunSpecific + 290
    frame #5: 0x00007fff8ba2d373 AppKit`-[NSHTMLReader _loadUsingWebKit] + 2257
    frame #6: 0x00007fff8ba2c85d AppKit`-[NSHTMLReader attributedString] + 25
    frame #7: 0x00007fff8ba2a7da AppKit`_NSReadAttributedStringFromURLOrData + 9406
    frame #8: 0x00007fff8ba28283 AppKit`-[NSAttributedString(NSAttributedStringKitAdditions) initWithData:options:documentAttributes:error:] + 112
    frame #9: 0x00007fff8bf51224 AppKit`-[NSPasteboard readObjectsForClasses:options:] + 1238
    frame #10: 0x00007fff8c055be7 AppKit`-[NSTextView(NSPasteboard) _readAttributedStringIntoRanges:fromPasteboard:stripAttachments:] + 172
    frame #11: 0x00007fff8c059527 AppKit`-[NSTextView(NSPasteboard) readSelectionFromPasteboard:type:] + 808
    frame #12: 0x00007fff8c059ce4 AppKit`-[NSTextView(NSPasteboard) _readSelectionFromPasteboard:types:] + 240
    frame #13: 0x00007fff8c059ef6 AppKit`-[NSTextView(NSPasteboard) readSelectionFromPasteboard:] + 19
    frame #14: 0x00007fff8c05a1a3 AppKit`-[NSTextView(NSPasteboard) paste:] + 50
    frame #15: 0x00000001008ba85c Adium`-[AIMessageEntryTextView pasteAsRichText:](self=0x00000001085ca7e0, _cmd=0x00007fff8c38ba49, sender=0x00000001029590f0) + 108 at AIMessageEntryTextView.m:568
    frame #16: 0x000000010017f558 Adium`-[AIInterfaceController _pasteWithPreferredSelector:sender:](self=0x0000000102962810, _cmd=0x000000010028ef7c, selector=0x00007fff8c38ba49, sender=0x00000001029590f0) + 424 at AIInterfaceController.m:1826
    frame #17: 0x000000010017f3a5 Adium`-[AIInterfaceController pasteWithImagesAndColors:](self=0x0000000102962810, _cmd=0x000000010028f20d, sender=0x00000001029590f0) + 69 at AIInterfaceController.m:1793
    frame #18: 0x00007fff8bbe5959 AppKit`-[NSApplication sendAction:to:from:] + 342
    frame #19: 0x00007fff8bd1b36c AppKit`-[NSMenuItem _corePerformAction] + 406
    frame #20: 0x00007fff8bd1b05a AppKit`-[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 133
    frame #21: 0x00007fff8bd19ce0 AppKit`-[NSMenu performKeyEquivalent:] + 271
    frame #22: 0x00007fff8bd191a3 AppKit`-[NSApplication _handleKeyEquivalent:] + 829
    frame #23: 0x00007fff8bbd6143 AppKit`-[NSApplication sendEvent:] + 4480
    frame #24: 0x00007fff8baec21a AppKit`-[NSApplication run] + 636
    frame #25: 0x00007fff8ba90bd6 AppKit`NSApplicationMain + 869
    frame #26: 0x00000001000477b2 Adium`main(argc=3, argv=0x00007fff5fbff820) + 34 at main.m:3
    frame #27: 0x00000001000024d4 Adium`start + 52

  thread #2: tid = 0x84663e, 0x00007fff8fe45d16 libsystem_kernel.dylib`kevent + 10, queue = 'com.apple.libdispatch-manager
    frame #0: 0x00007fff8fe45d16 libsystem_kernel.dylib`kevent + 10
    frame #1: 0x00007fff8d495dea libdispatch.dylib`_dispatch_mgr_invoke + 883
    frame #2: 0x00007fff8d4959ee libdispatch.dylib`_dispatch_mgr_thread + 54

  thread #10: tid = 0x846749, 0x00007fff8fe43686 libsystem_kernel.dylib`mach_msg_trap + 10, name = 'com.apple.NSURLConnectionLoader
    frame #0: 0x00007fff8fe43686 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff8fe42c42 libsystem_kernel.dylib`mach_msg + 70
    frame #2: 0x00007fff87d04233 CoreFoundation`__CFRunLoopServiceMachPort + 195
    frame #3: 0x00007fff87d09916 CoreFoundation`__CFRunLoopRun + 1078
    frame #4: 0x00007fff87d090e2 CoreFoundation`CFRunLoopRunSpecific + 290
    frame #5: 0x00007fff90339546 Foundation`+[NSURLConnection(Loader) _resourceLoadLoop:] + 356
    frame #6: 0x00007fff90397562 Foundation`__NSThread__main__ + 1345
    frame #7: 0x00007fff85aee772 libsystem_c.dylib`_pthread_start + 327
    frame #8: 0x00007fff85adb1a1 libsystem_c.dylib`thread_start + 13

  thread #11: tid = 0x84676e, 0x00007fff8fe450fa libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::BlockFree
    frame #0: 0x00007fff8fe450fa libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff85af2fb9 libsystem_c.dylib`_pthread_cond_wait + 869
    frame #2: 0x00007fff897d7b66 JavaScriptCore`WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 118
    frame #3: 0x00007fff899fabfa JavaScriptCore`JSC::BlockAllocator::blockFreeingThreadMain() + 90
    frame #4: 0x00007fff89a1025f JavaScriptCore`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff85aee772 libsystem_c.dylib`_pthread_start + 327
    frame #6: 0x00007fff85adb1a1 libsystem_c.dylib`thread_start + 13

  thread #12: tid = 0x84676f, 0x00007fff8fe450fa libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking
    frame #0: 0x00007fff8fe450fa libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff85af2fb9 libsystem_c.dylib`_pthread_cond_wait + 869
    frame #2: 0x00007fff8995d9d4 JavaScriptCore`JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 212
    frame #3: 0x00007fff8995d8b6 JavaScriptCore`JSC::MarkStackThreadSharedData::markingThreadMain() + 214
    frame #4: 0x00007fff89a1025f JavaScriptCore`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff85aee772 libsystem_c.dylib`_pthread_start + 327
    frame #6: 0x00007fff85adb1a1 libsystem_c.dylib`thread_start + 13

  thread #21: tid = 0x8468ba, 0x00007fff8fe45322 libsystem_kernel.dylib`select$DARWIN_EXTSN + 10, name = 'com.apple.CFSocket.private
    frame #0: 0x00007fff8fe45322 libsystem_kernel.dylib`select$DARWIN_EXTSN + 10
    frame #1: 0x00007fff87d48f46 CoreFoundation`__CFSocketManager + 1302
    frame #2: 0x00007fff85aee772 libsystem_c.dylib`_pthread_start + 327
    frame #3: 0x00007fff85adb1a1 libsystem_c.dylib`thread_start + 13

  thread #22: tid = 0x8469d6, 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10, queue = 'com.apple.root.default-overcommit-priority
    frame #0: 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff85af0fe6 libsystem_c.dylib`pthread_workqueue_addthreads_np + 47
    frame #2: 0x00007fff8d494073 libdispatch.dylib`_dispatch_queue_wakeup_global_slow + 59
    frame #3: 0x00007fff8d4941a7 libdispatch.dylib`_dispatch_worker_thread2 + 221
    frame #4: 0x00007fff85af0cdb libsystem_c.dylib`_pthread_wqthread + 404
    frame #5: 0x00007fff85adb191 libsystem_c.dylib`start_wqthread + 13

  thread #23: tid = 0x8469d7, 0x00007fff85adb184 libsystem_c.dylib`start_wqthread
    frame #0: 0x00007fff85adb184 libsystem_c.dylib`start_wqthread

  thread #24: tid = 0x846a03, 0x00007fff8fe44a7c libsystem_kernel.dylib`__connect, queue = 'com.apple.networking.connection.0x10d424400, stop reason = breakpoint 5.18
    frame #0: 0x00007fff8fe44a7c libsystem_kernel.dylib`__connect
    frame #1: 0x00007fff859e59b6 libsystem_network.dylib`netcore_create_control_socket + 392
    frame #2: 0x00007fff859dddfe libsystem_network.dylib`get_host_counts + 62
    frame #3: 0x00007fff859e1ebf libsystem_network.dylib`tcp_connection_host_resolve_result + 1031
    frame #4: 0x00007fff8ce543fd libsystem_dnssd.dylib`handle_addrinfo_response + 446
    frame #5: 0x00007fff8ce528fe libsystem_dnssd.dylib`DNSServiceProcessResult + 673
    frame #6: 0x00007fff8d4930b6 libdispatch.dylib`_dispatch_client_callout + 8
    frame #7: 0x00007fff8d49529b libdispatch.dylib`_dispatch_source_invoke + 691
    frame #8: 0x00007fff8d494305 libdispatch.dylib`_dispatch_queue_invoke + 72
    frame #9: 0x00007fff8d494448 libdispatch.dylib`_dispatch_queue_drain + 180
    frame #10: 0x00007fff8d4942f1 libdispatch.dylib`_dispatch_queue_invoke + 52
    frame #11: 0x00007fff8d4941c3 libdispatch.dylib`_dispatch_worker_thread2 + 249
    frame #12: 0x00007fff85af0cdb libsystem_c.dylib`_pthread_wqthread + 404
    frame #13: 0x00007fff85adb191 libsystem_c.dylib`start_wqthread + 13

  thread #25: tid = 0x846a04, 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff85af0f1c libsystem_c.dylib`_pthread_workq_return + 25
    frame #2: 0x00007fff85af0ce3 libsystem_c.dylib`_pthread_wqthread + 412
    frame #3: 0x00007fff85adb191 libsystem_c.dylib`start_wqthread + 13

  thread #26: tid = 0x846a06, 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff85af0f1c libsystem_c.dylib`_pthread_workq_return + 25
    frame #2: 0x00007fff85af0ce3 libsystem_c.dylib`_pthread_wqthread + 412
    frame #3: 0x00007fff85adb191 libsystem_c.dylib`start_wqthread + 13

  thread #27: tid = 0x846a07, 0x00007fff8fe44a7c libsystem_kernel.dylib`__connect, queue = 'com.apple.networking.connection.0x1084f7fe0, stop reason = breakpoint 5.18
    frame #0: 0x00007fff8fe44a7c libsystem_kernel.dylib`__connect
    frame #1: 0x00007fff859e59b6 libsystem_network.dylib`netcore_create_control_socket + 392
    frame #2: 0x00007fff859dddfe libsystem_network.dylib`get_host_counts + 62
    frame #3: 0x00007fff859e1ebf libsystem_network.dylib`tcp_connection_host_resolve_result + 1031
    frame #4: 0x00007fff8ce543fd libsystem_dnssd.dylib`handle_addrinfo_response + 446
    frame #5: 0x00007fff8ce528fe libsystem_dnssd.dylib`DNSServiceProcessResult + 673
    frame #6: 0x00007fff8d4930b6 libdispatch.dylib`_dispatch_client_callout + 8
    frame #7: 0x00007fff8d49529b libdispatch.dylib`_dispatch_source_invoke + 691
    frame #8: 0x00007fff8d494305 libdispatch.dylib`_dispatch_queue_invoke + 72
    frame #9: 0x00007fff8d494448 libdispatch.dylib`_dispatch_queue_drain + 180
    frame #10: 0x00007fff8d4942f1 libdispatch.dylib`_dispatch_queue_invoke + 52
    frame #11: 0x00007fff8d4941c3 libdispatch.dylib`_dispatch_worker_thread2 + 249
    frame #12: 0x00007fff85af0cdb libsystem_c.dylib`_pthread_wqthread + 404
    frame #13: 0x00007fff85adb191 libsystem_c.dylib`start_wqthread + 13

  thread #28: tid = 0x846a08, 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8fe456d6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff85af0f1c libsystem_c.dylib`_pthread_workq_return + 25
    frame #2: 0x00007fff85af0ce3 libsystem_c.dylib`_pthread_wqthread + 412
    frame #3: 0x00007fff85adb191 libsystem_c.dylib`start_wqthread + 13

comment:16 Changed 4 years ago by Thijs Alkemade <me@…>

  • Resolution set to fixed
  • Status changed from assigned to closed

(In aaa375918de6) Forbid loading images when converting HTML pasteboards to NSAttributedStrings. This is a possible privacy issue when using Tor and unlikely to be what the user wants (why start a lot of filetransfers when sending a snippet from a webpage?).

Fixes #15724

comment:17 Changed 4 years ago by hellais

Thanks for the fix!

Good job!

comment:18 Changed 4 years ago by Robby

  • Milestone set to Adium 1.6

Thijs, will you backport the change to 1.5.x?

comment:19 Changed 4 years ago by Thijs Alkemade <me@…>

(In d29ff57daff3) Forbid loading images when converting HTML pasteboards to NSAttributedStrings. This is a possible privacy issue when using Tor and unlikely to be what the user wants (why start a lot of filetransfers when sending a snippet from a webpage?).

Fixes #15724

comment:20 Changed 4 years ago by sphynx

  • Keywords tor added
  • Milestone changed from Adium 1.6 to Adium 1.5.8

Done!

comment:21 Changed 4 years ago by Robby

Woo, that was fast. :D

Note: See TracTickets for help on using tickets.