CVE:CVE-2007-1546
CNNVD:CNNVD-200703-477
Network Audio System（NAS）是一套采用客户机/服务器结构的网络音频传输系统。该系统支持音频传输、音频处理、音频存储等。
Network Audio System中ProcAuSetElements中过大的num_actions导致无效的内存指针
在ProcAuSetElements中num_actions用于增量stuff缓冲区中el架构的指针。如果客户端发送了一个或多个很大的num_action值的话，就会强制服务器使用stuff缓冲区外的数据，导致崩溃。
server/dia/audispatch.c文件中的漏洞代码：
#define ADD_VAR(n)                                                            \
{                                                                             \
    AuUint8 *_t = (AuUint8 *) el;                                             \
                                                                              \
    varLen += (n);                                                            \
    _t += (n);                                                                \
    el = (auElement *) _t;                                                    \
}
#define COMP_ACTIONS(num)                                                      \
{                                                                              \
    numActions += (num) ? (num) : numDefaultActions[el->type];                 \
    ADD_VAR((num) * sizeof(auElementAction));                                  \
}
...
int
ProcAuSetElements(ClientPtr client)
{
fprintf(stderr, "XXX ProcAuSetElements\n");
    REQUEST(auSetElementsReq);
    FlowPtr flow;
    int len, i, varLen, numActions, status;
    auElement *el;
    ...
    el = (auElement *) & stuff[1];
    /* compute length of variable data and do some error checking */
    for (i = varLen = numActions = 0; i < stuff->numElements; i++, el++)
        switch (el->type) {
        case AuElementTypeImportClient:
            COMP_ACTIONS(el->importclient.actions.num_actions);
            ...
solution:Upgrade radscan network_audio_system to a higher version than 1.8a,and avoid the version 1.8a