<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <base href="https://issues.shibboleth.net/jira" />
<title>Message Title</title>
</head>
<body class="jira" style="color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<!-- header here -->
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="cid:jira-generated-image-avatar-7a95bbbf-2e35-48dd-ace9-b4637fa82f2c" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" />
</td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="vtsji@unitedid.org" id="email_vtsji@unitedid.org" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=vtsji%40unitedid.org" style="color:#3b73af;; color: #3b73af; text-decoration: none">vtsji@unitedid.org</a> <strong>created</strong> an issue
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly">
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="page-title-pattern-first-line " style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP" style="color: #3b73af; text-decoration: none">Shibboleth SP - C++</a> / <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-705" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-32f89d81-f981-45ea-8dab-91fe826e5912" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-705" style="color: #3b73af; text-decoration: none">SSPCPP-705</a>
</td>
</tr>
<tr>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-705" style="color: #3b73af; text-decoration: none">Segfault on missing "attributes" value in AttributeChecker handler</a> </span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 10px; padding-bottom: 5px">
<table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Issue Type:
</th>
<td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-avatar-32f89d81-f981-45ea-8dab-91fe826e5912" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /> Bug
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Affects Versions:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
2.6.0
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Assignee:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="cantor.2@osu.edu" id="email_cantor.2@osu.edu" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=cantor.2%40osu.edu" style="color:#3b73af;; color: #3b73af; text-decoration: none">Scott Cantor</a>
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Components:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
Attribute Resolution / Filtering
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Created:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
05/Jul/16 1:36 AM
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Priority:
</th>
<td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-minor-1571a958-7163-442b-847d-738d15bb690f" height="16" width="16" border="0" align="absmiddle" alt="Minor" style="vertical-align: text-bottom" /> Minor
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Reporter:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="vtsji@unitedid.org" id="email_vtsji@unitedid.org" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=vtsji%40unitedid.org" style="color:#3b73af;; color: #3b73af; text-decoration: none">vtsji@unitedid.org</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 5px; padding-bottom: 10px">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0">
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">A bit of a silly edge case, but in the SP, if you configure an AttributeChecker handler but don't specify a value for the "attributes" attribute (or omit it) nor for any attribute that ReloadableXMLFile recognizes, Shibboleth will segfault at startup due to a null pointer dereference.</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">To reproduce, add:</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"><tt><Handler type="AttributeChecker" Location="/AttributeChecker" template="attrChecker.html"/></tt></p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">to the <Session> element in shibboleth2.xml, and restart the webserver.</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Gdb indicates that the crash is due to XMLAccessControl::background_load() assuming that 'raw.second' is non-null. When no value for 'attributes' is given, AttributeCheckerHandler's constructor spawns an XMLAccessControl instance in m_acl. The constructor for XMLAccessControl calls background_load, in which the call to ReloadableXMLFile::load() returns a (false, nullptr) pair.</p>
<div class="preformatted panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
<div class="preformattedContent panelContent" style="padding: 9px 12px">
<pre style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-word; white-space: pre-wrap">Thread 1 "apache2" received signal SIGSEGV, Segmentation fault.
0x00007ffff0158a6a in shibsp::XMLAccessControl::background_load (this=0x555555a51ea0) at impl/XMLAccessControl.cpp:417
</pre>
</div>
</div>
<div class="preformatted panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
<div class="preformattedContent panelContent" style="padding: 9px 12px">
<pre style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-word; white-space: pre-wrap">(gdb) bt
#0 shibsp::XMLAccessControl::background_load (this=0x555555a51eb0) at impl/XMLAccessControl.cpp:417
#1 0x00007ffff0159526 in shibsp::XMLAccessControl::XMLAccessControl (this=0x555555a51eb0, e=0x555555a50f68, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at impl/XMLAccessControl.cpp:115
#2 0x00007ffff0154bfe in shibsp::XMLAccessControlFactory (e=@0x7fffffffd2f0: 0x555555a50f68) at impl/XMLAccessControl.cpp:137
#3 0x00007ffff0461acc in xmltooling::PluginManager<shibsp::AccessControl, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, xercesc_3_1::DOMElement const*>::newPlugin (
this=0x7ffff042e150 <shibsp::g_config+16>, type="XML", p=@0x7fffffffd2f0: 0x555555a50f68) at /home/vmuser/shibsp-fuzz/install/include/xmltooling/PluginManager.h:99
#4 0x00007ffff0114886 in shibsp::AttributeCheckerHandler::AttributeCheckerHandler (this=0x555555a4be80, e=0x555555a50f68, appId=0x555555ad9cf0 "default", __in_chrg=<optimized out>,
__vtt_parm=<optimized out>) at handler/impl/AttributeCheckerHandler.cpp:132
#5 0x00007ffff0113dac in shibsp::AttributeCheckerFactory (p=...) at handler/impl/AttributeCheckerHandler.cpp:104
#6 0x00007ffff011b5c6 in xmltooling::PluginManager<shibsp::Handler, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<xercesc_3_1::DOMElement const*, char const
*> >::newPlugin (this=0x7ffff042e1e0 <shibsp::g_config+160>, type="AttributeChecker", p=...) at /home/vmuser/shibsp-fuzz/install/include/xmltooling/PluginManager.h:99
#7 0x00007ffff016fd02 in (anonymous namespace)::XMLApplication::doHandlers (this=0x555555ad9d10, pp=0x555555ada5d0, e=0x555555a4ded0, log=...) at impl/XMLServiceProvider.cpp:1067
#8 0x00007ffff016c87c in (anonymous namespace)::XMLApplication::XMLApplication (this=0x555555ad9d10, sp=0x555555a63880, pp=0x555555ada5d0, e=0x555555a4ded0, base=0x0, __in_chrg=<optimized out>,
__vtt_parm=<optimized out>) at impl/XMLServiceProvider.cpp:637
#9 0x00007ffff017951c in (anonymous namespace)::XMLConfigImpl::XMLConfigImpl (this=0x555555aa0ec0, e=0x555555a4d0e8, first=true, outer=0x555555a63880, log=..., __in_chrg=<optimized out>,
__vtt_parm=<optimized out>) at impl/XMLServiceProvider.cpp:2242
#10 0x00007ffff0179e63 in (anonymous namespace)::XMLConfig::background_load (this=0x555555a63880) at impl/XMLServiceProvider.cpp:2396
#11 0x00007ffff016a16c in (anonymous namespace)::XMLConfig::init (this=0x555555a63880) at impl/XMLServiceProvider.cpp:341
(gdb) p raw
$1 = {first = false, second = 0x0}
(gdb) p *this
$2 = {<shibsp::AccessControl> = {<xmltooling::Lockable> = {_vptr.Lockable = 0x7ffff041f850 <vtable for shibsp::XMLAccessControl+48>}, <No data fields>}, <xmltooling::ReloadableXMLFile> = {
m_root = 0x555555a50f58, m_local = true, m_validate = false, m_source = "", m_backing = "", m_filestamp = 0, m_reloadInterval = 0, m_cacheTag = "", m_lock = 0x0, m_log = @0x555555a52140,
m_id = "", m_loaded = false, m_shutdown = false, m_reload_wait = 0x0, m_reload_thread = 0x0}, m_rootAuthz = {px = 0x0}}
</pre>
</div>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-705#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-cb5a2e19-8cfa-4e3e-85e0-34aa7584e047" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle" /> </a>
</td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-705#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
This message was sent by Atlassian JIRA <span id="footer-build-information">(v7.0.10#70120-<span title="37e3d7a6fc4d580639533e7f7c232c925e554a6a" data-commit-id="37e3d7a6fc4d580639533e7f7c232c925e554a6a}">sha1:37e3d7a</span>)</span>
</td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-7074ec1a-6054-4f90-ba6f-64d04ceb5728" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>