CVE Vulnerabilities

CVE-2007-0018

Improper Restriction of Operations within the Bounds of a Memory Buffer

Published: Jan 24, 2007 | Modified: Oct 16, 2018
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
9.3 HIGH
AV:N/AC:M/Au:N/C:C/I:C/A:C
RedHat/V2
RedHat/V3
Ubuntu

Stack-based buffer overflow in the NCTAudioFile2.AudioFile ActiveX control (NCTAudioFile2.dll), as used by multiple products, allows remote attackers to execute arbitrary code via a long argument to the SetFormatLikeSample function. NOTE: the products include (1) NCTsoft NCTAudioStudio, NCTAudioEditor, and NCTDialogicVoice; (2) Magic Audio Recorder, Music Editor, and Audio Converter; (3) Aurora Media Workshop; DB Audio Mixer And Editor; (4) J. Hepple Products including Fx Audio Editor and others; (5) EXPStudio Audio Editor; (6) iMesh; (7) Quikscribe; (8) RMBSoft AudioConvert and SoundEdit Pro 2.1; (9) CDBurnerXP; (10) Code-it Software Wave MP3 Editor and aBasic Editor; (11) Movavi VideoMessage, DVD to iPod, and others; (12) SoftDiv Software Dexster, iVideoMAX, and others; (13) Sienzo Digital Music Mentor (DMM); (14) MP3 Normalizer; (15) Roemer Software FREE and Easy Hi-Q Recorder, and Easy Hi-Q Converter; (16) Audio Edit Magic; (17) Joshua Video and Audio Converter; (18) Virtual CD; (19) Cheetah CD and DVD Burner; (20) Mystik Media AudioEdit Deluxe, Blaze Media, and others; (21) Power Audio Editor; (22) DanDans Digital Media Full Audio Converter, Music Editing Master, and others; (23) Xrlly Software Text to Speech Makerand Arial Sound Recorder / Audio Converter; (24) Absolute Sound Recorder, Video to Audio Converter, and MP3 Splitter; (25) Easy Ringtone Maker; (26) RecordNRip; (27) McFunSoft iPod Audio Studio, Audio Recorder for Free, and others; (28) MP3 WAV Converter; (29) BearShare 6.0.2.26789; and (30) Oracle Siebel SimBuilder and CRM 7.x.

Weakness

The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer.

Affected Software

Name Vendor Start Version End Version
Convert_mp3_master Altdo 1.1 (including) 1.1 (including)
Mp3_record_and_edit_audio_master Altdo 1.2 (including) 1.2 (including)
Mp3_wav_converter Americanshareware 3.1.8 (including) 3.1.8 (including)
Audio_edit_magic Audio_edit_magic 9.2.3_389 (including) 9.2.3_389 (including)
Bearshare Bearshare 6.0.2.26789 (including) 6.0.2.26789 (including)
Cdburnerxp_pro Cdburnerxp 3.0.116 (including) 3.0.116 (including)
Cheetah_cd_burner Cheetahburner 3.56 (including) 3.56 (including)
Cheetah_dvd_burner Cheetahburner 1.79 (including) 1.79 (including)
Abasic_editor Code-it_softare 10.1 (including) 10.1 (including)
Wave_mp3_editor Code-it_softare 10.1 (including) 10.1 (including)
Easy_audio_editor Dandans_digital_media_products 7.4 (including) 7.4 (including)
Full_audio_converter Dandans_digital_media_products 4.2 (including) 4.2 (including)
Music_editing_master Dandans_digital_media_products 5.2 (including) 5.2 (including)
Visual_video_converter Dandans_digital_media_products 4.4 (including) 4.4 (including)
Audio_mixer_and_editor Digital_borneo 1.1.0 (including) 1.1.0 (including)
Easy_ringtone_maker Easy_ringtone_maker 2.0.5 (including) 2.0.5 (including)
Audio_editor Expstudio 4.0.2 (including) 4.0.2 (including)
Absolute_mp3_splitter Iaudiosoft.com 2.5.4 (including) 2.5.4 (including)
Absolute_sound_recorder Iaudiosoft.com 3.4.5 (including) 3.4.5 (including)
Absolute_video_to_audio_converter Iaudiosoft.com 2.7.9 (including) 2.7.9 (including)
Imesh Imesh.com 7.0.2.26789 (including) 7.0.2.26789 (including)
Fx_audio_concat J_hepple_products 1.2.0_beta (including) 1.2.0_beta (including)
Fx_audio_editor J_hepple_products 4.7.11 (including) 4.7.11 (including)
Fx_audio_tools J_hepple_products 7.3.4 (including) 7.3.4 (including)
Fx_magic_music J_hepple_products 5.7.7 (including) 5.7.7 (including)
Fx_movie_joiner J_hepple_products 6.2.8 (including) 6.2.8 (including)
Fx_movie_joiner_and_splitter J_hepple_products 6.2.8 (including) 6.2.8 (including)
Fx_movie_splitter J_hepple_products 6.4.7 (including) 6.4.7 (including)
Fx_new_sound J_hepple_products 5.1.1 (including) 5.1.1 (including)
Fx_video_converter J_hepple_products 7.51.21 (including) 7.51.21 (including)
Audio_convertor_plus Joshua_mediasoft 2.2 (including) 2.2 (including)
Video_converter_plus Joshua_mediasoft 3.01 (including) 3.01 (including)
Magic_audio_converter Magicvideosoftare 8.2.6_build_719 (including) 8.2.6_build_719 (including)
Magic_audio_recorder Magicvideosoftare 5.3.7 (including) 5.3.7 (including)
Magic_music_editor Magicvideosoftare 5.2.2 (including) 5.2.2 (including)
Audio_editor Mcfunsoft 6.3.3_build_489 (including) 6.3.3_build_489 (including)
Audio_recorder_for_free Mcfunsoft 6.1 (including) 6.1 (including)
Audio_studio Mcfunsoft 6.6.3_build_479 (including) 6.6.3_build_479 (including)
Ipod_audio_studio Mcfunsoft 6.2.4 (including) 6.2.4 (including)
Ipod_music_converter Mcfunsoft 5.1 (including) 5.1 (including)
Recording_to_ipod_solution Mcfunsoft 5.1 (including) 5.1 (including)
Aurora_media_workshop Mediatox 3.3.25 (including) 3.3.25 (including)
Chiliburner Movavi 2.3 (including) 2.3 (including)
Convertmovie Movavi 4.4 (including) 4.4 (including)
Dvd_to_ipod Movavi 1.0 (including) 1.0 (including)
Splitmovie Movavi 1.4 (including) 1.4 (including)
Suite Movavi 3.5 (including) 3.5 (including)
Videomessage Movavi 1.0 (including) 1.0 (including)
Mp3_normalizer Mp3-soft 1.03 (including) 1.03 (including)
Audioedit_deluxe Mystik_media_products 4.10 (including) 4.10 (including)
Blaze_media_pro Mystik_media_products 7.0 (including) 7.0 (including)
Blaze_mediaconvert Mystik_media_products 3.4 (including) 3.4 (including)
Contextconvert_pro Mystik_media_products 3.1 (including) 3.1 (including)
Nctaudioeditor Nctsoft_products 2.7.1 (including) 2.7.1 (including)
Nctaudiofile2 Nctsoft_products * *
Nctaudiostudio Nctsoft_products 2.7.1 (including) 2.7.1 (including)
Nctdialogicvoice Nctsoft_products 2.7.1 (including) 2.7.1 (including)
Audio_editor_gold Nextlevel_systems 9.2.5_build_424 (including) 9.2.5_build_424 (including)
Audio_studio_gold Nextlevel_systems 7.0.1.1_build_500 (including) 7.0.1.1_build_500 (including)
Quikscribe_player Quikscribe 5.022.05 (including) 5.022.05 (including)
Quikscribe_recorder Quikscribe 5.021.29 (including) 5.021.29 (including)
Recordnrip Recordnrip 1.0 (including) 1.0 (including)
Audioconvert Rmbsoft 3.1.0.125 (including) 3.1.0.125 (including)
Soundedit_pro Rmbsoft 2.1 (including) 2.1 (including)
Easy_hi-q_converter Roemer_software 1.7 (including) 1.7 (including)
Easy_hi-q_recorder Roemer_software 2.0 (including) 2.0 (including)
Free_hi-q_recorder Roemer_software 1.9 (including) 1.9 (including)
Digital_music_mentor Sienzo 2.6.0.3 (including) 2.6.0.3 (including)
Power_audio_editor Smart_media_systems 11.0.1 (including) 11.0.1 (including)
Dexster Softdiv_softare 3.0 (including) 3.0 (including)
Ivideomax Softdiv_softare 3.9 (including) 3.9 (including)
Mp3_to_wav_converter Softdiv_softare 3.0 (including) 3.0 (including)
Snosh Softdiv_softare 1.4 (including) 1.4 (including)
Videozilla Softdiv_softare 2.5 (including) 2.5 (including)
Virtual_cd Virtual_cd 6.0.0.7 (including) 6.0.0.7 (including)
Virtual_cd Virtual_cd 7.1.0.2 (including) 7.1.0.2 (including)
Virtual_cd Virtual_cd 8.0.0.6 (including) 8.0.0.6 (including)
Virtual_cd_file_server Virtual_cd 7.1.0.3 (including) 7.1.0.3 (including)
Arial_audio_converter Xrlly_software 2.3.40 (including) 2.3.40 (including)
Arial_sound_recorder Xrlly_software 1.4.3 (including) 1.4.3 (including)
Text_to_speech_maker Xrlly_software 1.3.8 (including) 1.3.8 (including)
Magic_audio_editor_pro Xwaver.com 10.3.1_build_476 (including) 10.3.1_build_476 (including)
Magic_music_studio_pro Xwaver.com 7.0.2.1_build_500 (including) 7.0.2.1_build_500 (including)

Extended Description

Certain languages allow direct addressing of memory locations and do not automatically ensure that these locations are valid for the memory buffer that is being referenced. This can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. As a result, an attacker may be able to execute arbitrary code, alter the intended control flow, read sensitive information, or cause the system to crash.

Potential Mitigations

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

  • For example, many languages that perform their own memory management, such as Java and Perl, are not subject to buffer overflows. Other languages, such as Ada and C#, typically provide overflow protection, but the protection can be disabled by the programmer.

  • Be wary that a language’s interface to native code may still be subject to overflows, even if the language itself is theoretically safe.

  • Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

  • Examples include the Safe C String Library (SafeStr) by Messier and Viega [REF-57], and the Strsafe.h library from Microsoft [REF-56]. These libraries provide safer versions of overflow-prone string-handling functions.

  • Use automatic buffer overflow detection mechanisms that are offered by certain compilers or compiler extensions. Examples include: the Microsoft Visual Studio /GS flag, Fedora/Red Hat FORTIFY_SOURCE GCC flag, StackGuard, and ProPolice, which provide various mechanisms including canary-based detection and range/index checking.

  • D3-SFCV (Stack Frame Canary Validation) from D3FEND [REF-1334] discusses canary-based detection in detail.

  • Consider adhering to the following rules when allocating and managing an application’s memory:

  • Run or compile the software using features or extensions that randomly arrange the positions of a program’s executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code.

  • Examples include Address Space Layout Randomization (ASLR) [REF-58] [REF-60] and Position-Independent Executables (PIE) [REF-64]. Imported modules may be similarly realigned if their default memory addresses conflict with other modules, in a process known as “rebasing” (for Windows) and “prelinking” (for Linux) [REF-1332] using randomly generated addresses. ASLR for libraries cannot be used in conjunction with prelink since it would require relocating the libraries at run-time, defeating the whole purpose of prelinking.

  • For more information on these techniques see D3-SAOR (Segment Address Offset Randomization) from D3FEND [REF-1335].

  • Use a CPU and operating system that offers Data Execution Protection (using hardware NX or XD bits) or the equivalent techniques that simulate this feature in software, such as PaX [REF-60] [REF-61]. These techniques ensure that any instruction executed is exclusively at a memory address that is part of the code segment.

  • For more information on these techniques see D3-PSEP (Process Segment Execution Prevention) from D3FEND [REF-1336].

References