[aur-dev] [PATCH] pkg_details.php: Fix potential XSS for package names and dep conditions

Lukas Fleischer archlinux at cryptocrack.de
Wed Nov 7 04:08:54 EST 2012


From: canyonknight <canyonknight at gmail.com>

Package names and dep conditions can be specially crafted for an XSS
attack. Properly sanitize these variables on the package details page.

In addition, avoid including dep conditions as part of a package link.

Signed-off-by: canyonknight <canyonknight at gmail.com>
Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
 web/template/pkg_details.php | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index cdf2764..b5d8a9f 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -190,9 +190,9 @@ if ($row["MaintainerUID"]):
 		# darr: (DepName, DepCondition, PackageID), where ID is NULL if it didn't exist
 		if (!is_null($darr[2])):
 ?>
-				<li><a href="<?= htmlspecialchars(get_pkg_uri($darr[0]), ENT_QUOTES); ?>" title="<?= __('View packages details for').' '.$darr[0].$darr[1]?>"><?= $darr[0].$darr[1]?></a></li>
+				<li><a href="<?= htmlspecialchars(get_pkg_uri($darr[0]), ENT_QUOTES); ?>" title="<?= __('View packages details for').' '. htmlspecialchars($darr[0]) ?>"><?= htmlspecialchars($darr[0]) ?></a><?= htmlspecialchars($darr[1]) ?></li>
 		<?php else: ?>
-				<li><a href="https://www.archlinux.org/packages/?q=<?= urlencode($darr[0])?>" title="<?= __('View packages details for').' '.$darr[0].$darr[1] ?>"><?= $darr[0].$darr[1] ?></a></li>
+				<li><a href="https://www.archlinux.org/packages/?q=<?= urlencode($darr[0])?>" title="<?= __('View packages details for').' ' . htmlspecialchars($darr[0]) ?>"><?= htmlspecialchars($darr[0]) ?></a><?= htmlspecialchars($darr[1]) ?></li>
 		<?php endif; ?>
 	<?php endwhile; ?>
 			</ul>
@@ -206,7 +206,7 @@ if ($row["MaintainerUID"]):
 	# darr: (PackageName, PackageID)
 	while (list($k, $darr) = each($requiredby)):
 ?>
-				<li><a href="<?= htmlspecialchars(get_pkg_uri($darr[0]), ENT_QUOTES); ?>" title="<?= __('View packages details for').' '.$darr[0]?>"><?= $darr[0] ?></a></li>
+				<li><a href="<?= htmlspecialchars(get_pkg_uri($darr[0]), ENT_QUOTES); ?>" title="<?= __('View packages details for').' ' . htmlspecialchars($darr[0]) ?>"><?= htmlspecialchars($darr[0]) ?></a></li>
 	<?php endwhile; ?>
 			</ul>
 <?php endif; ?>
-- 
1.8.0



More information about the aur-dev mailing list