Lucene search
+L

Magic AirMusic - Unauth Control API Detection (CVE-2019-13474)

🗓️ 10 Aug 2026 06:19:08Reported by KittySploitType 
kittysploit
 kittysploit
🔗 github.com👁 7 Views

Unauthenticated access to the Control API in Magic AirMusic and TELESTAR.

Related
Refs
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2019-13474
16 Sep 201900:00
–cve
cvelist
Cvelist
CVE-2019-13474
16 Sep 201900:00
–cvelist
euvd
EUVD
EUVD-2019-4942
7 Oct 202500:30
–euvd
nvd
NVD
CVE-2019-13474
16 Sep 201912:15
–nvd
openvas
OpenVAS
Magic AirMusic Insufficient Access Control Vulnerability
17 Mar 201900:00
–openvas
openvas
OpenVAS
Xymon < 4.3.29 Multiple Vulnerabilities
29 Aug 201900:00
–openvas
packetstorm
Packet Storm
Dabman And Imperial Web Radio Devices Undocumented Telnet Backdoor
9 Sep 201900:00
–packetstorm
packetstorm
Packet Storm
Internet Radio auna IR-160 SE UIProto DoS / XSS / Missing Authentication
5 Sep 202300:00
–packetstorm
prion
Prion
Improper access control
16 Sep 201912:15
–prion
ptsecurity
Positive Technologies
PT-2019-13355 · Telestar +4 · Telestar Bobs Rock Radio +12
11 Sep 201900:00
–ptsecurity
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Magic AirMusic / TELESTAR internet radio missing access control (CVE-2019-13474)."""

from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Scanner, Http_client):
    __info__ = {
        'name': 'Magic AirMusic - Unauth Control API Detection (CVE-2019-13474)',
        'description': (
            'Detects CVE-2019-13474 by requesting /playinfo, /hotkeylist or /stop and '
            'looking for XML result/menu responses without authentication.'
        ),
        'author': ['KittySploit Team'],
        'severity': 'medium',
        'tags': [
            'web', 'scanner', 'cve', 'cve2019', 'iot', 'airmusic', 'telestar',
            'unauth', 'vuln',
        ],
        'agent': {
            'risk': 'active',
            'effects': ['network_probe'],
            'expected_requests': 3,
            'reversible': True,
            'approval_required': False,
            'produces': ['tech_hints', 'risk_signals', 'endpoints'],
            'cost': 1.0,
            'noise': 0.3,
            'value': 0.7,
            'requires': {
                'min_endpoints': 0, 'min_params': 0,
                'tech_hints_any': [], 'tech_hints_all': [],
                'specializations_any': [], 'risk_signals_any': [],
                'auth_session': False, 'capabilities_any': [], 'capabilities_all': [],
                'confidence_min': {}, 'confidence_min_any': {},
                'endpoint_pattern_any': [], 'param_any': [], 'api_surface_ready': False,
            },
            'chain': {
                'produces_capabilities': [{'capability': 'risk_signal', 'from_detail': ''}],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': [],
            },
        },
        'references': ['https://nvd.nist.gov/vuln/detail/CVE-2019-13474'],
        'cve': 'CVE-2019-13474',
    }

    base_path = OptString('', 'Optional device base path', required=False)

    def _prefix(self) -> str:
        base = str(self.base_path or '').strip()
        if not base or base == '/':
            return ''
        if not base.startswith('/'):
            base = '/' + base
        return base.rstrip('/')

    def run(self):
        for cmd in ('playinfo', 'hotkeylist', 'stop'):
            path = f'{self._prefix()}/{cmd}'
            r = self.http_request(method='GET', path=path, allow_redirects=False)
            if not r or r.status_code != 200:
                continue
            body = r.text or ''
            if (
                '<result>OK</result>' in body
                or '<menu><item_total>' in body
                or '<result>FAIL</result>' in body
            ):
                self.set_info(
                    severity='medium',
                    reason=f'Magic AirMusic unauth API via /{cmd} (CVE-2019-13474)',
                    path=path,
                )
                return True
        return False

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

10 Aug 2026 06:19Current
8.5High risk
Vulners AI Score8.5
CVSS 27.5
CVSS 3.19.8
EPSS0.02534
7