def extract_vulnerabilities(debian_data, base_release='jessie'):
    """
    Return a sequence of mappings for each existing combination of
    package and vulnerability from a mapping of Debian vulnerabilities
    data.
    """
    package_vulnerabilities = []

    for package_name, vulnerabilities in debian_data.items():
        if not vulnerabilities or not package_name:
            continue

        for cve_id, details in vulnerabilities.items():
            releases = details.get('releases')
            if not releases:
                continue

            release = releases.get(base_release)
            if not release:
                continue

            status = release.get('status')
            if status not in ('open', 'resolved'):
                continue

            # the latest version of this package in base_release
            version = release.get('repositories', {}).get(base_release, '')

            package_vulnerabilities.append({
                'package_name': package_name,
                'cve_id': cve_id,
                'description': details.get('description', ''),
                'status': status,
                'urgency': release.get('urgency', ''),
                'version': version,
                'fixed_version': release.get('fixed_version', '')
            })

    return package_vulnerabilities