Needs work
Project:
Drippic
Version:
6.x-1.x-dev
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
8 Nov 2010 at 14:51 UTC
Updated:
15 Nov 2010 at 16:11 UTC
Posting this on behalf of the security team - since this module has no stable releases, this security issue may be fixed in public.
Possible CSRF here - POST is used without checking for any form or URL token.
14 function drippic_upload($function = null){
15 global $base_url;
16
17 // The vars send by Tweetie for iPhone.
18 $username = $_POST['username'];
19 $password = $_POST['password'];
20 $tweet = $_POST['message'];
21 $media = $_FILES['media'];
22 if(drupal_is_denied('user',$username)){
23 header('HTTP/1.1 401 Unauthorized');
24 return 'File error code: ' . $media['error'];
25 }
26 $output = '<?xml version="1.0" encoding="UTF-8"?>';
27
28 $response = array(
29 'key' => 'rsp',
30 );
31
32 if(isset($username) && isset($password) && isset($tweet) && isset($media)){
33 $account = drippic_load_twitter_user($username,$password);
34 $nid = drippic_create_node($tweet ,$media, $account);
In conjunction, possible XSS vector here since watchdog+dblog does not sanitize its output:
134 node_save($node);
135 watchdog('drippic','<pre>'.print_r($node,true).'</pre>');
136 return $node->nid;
137 }
http://api.drupal.org/api/drupal/modules--dblog--dblog.admin.inc/functio...
Comments
Comment #1
timmillwoodThe drippic_upload() function is not needed now Twitter doesn't support basic auth, this will be removed asap.
There are far too many watchdog messages in the module, these need removing.